什么是string :: find(char c)应该在C++中返回

Yod*_*oda 1 c++ find

s.find(c)如果char c不在字符串中,应该返回什么.我的意思是它在任何地方描述,因为c ++文档通常不会说最重要的事情.

编辑:更清楚:find返回我们正在寻找的字符索引,如果它(字符)不存在怎么办?

Pup*_*ppy 9

std::string::npos.但它通常更好用std::find,因为返回s.end()和迭代器优于索引.


Mir*_*toš 6

当字符不在字符串中时,将std::string::npos返回特殊索引值.

size_t index = s.find(c);
if (index == string::npos)
   cout << "not found" << endl;
else
   cout << "found at " << index << endl;
Run Code Online (Sandbox Code Playgroud)

更多细节和示例可以在这里找到: