string.find()与string::npos
C++: string 中find函數(shù)的用法以及string::npos的含義_linwh8的博客-CSDN博客_c++ npos
查找字符串a(chǎn)是否包含子串b,不是用strA.find(strB) > 0 而是 strA.find(strB) != string:npos
其中string:npos是個(gè)特殊值,說(shuō)明查找沒(méi)有匹配
先說(shuō)說(shuō)string::npos參數(shù):
npos 是一個(gè)常數(shù),用來(lái)表示不存在的位置,類型一般是std::container_type::size_type 許多容器都提供這個(gè)東西。取值由實(shí)現(xiàn)決定,一般是-1,這樣做,就不會(huì)存在移植的問(wèn)題了。
再來(lái)說(shuō)說(shuō)find函數(shù):
find函數(shù)的返回值是整數(shù),假如字符串存在包含關(guān)系,其返回值必定不等于npos,但如果字符串不存在包含關(guān)系,那么返回值就一定是npos。
if (a.find(b) != string::npos)
{
cout << "Yes!" << endl;
}
else { cout << "No!" << endl;
}
總結(jié)
以上是生活随笔為你收集整理的string.find()与string::npos的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 空指针赋值崩溃
- 下一篇: socket编程中read()、writ