1

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

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

4

2 回答 2

9

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

于 2012-08-26T09:37:08.097 回答
6

当字符不在字符串中时,std::string::npos返回一个特殊的索引值。

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

可以在此处找到更多详细信息和示例:

于 2012-08-26T09:40:02.657 回答