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

时间:2012-08-26 09:35:42

标签: c++ find

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

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

2 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:6)

如果字符不在字符串中,则返回特殊索引值std::string::npos

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

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