如果char c不在字符串中,s.find(c)
应该返回什么。我的意思是它在任何地方都有描述,因为c ++文档通常不会说最重要的事情。
编辑:更清楚:find返回我们正在寻找的字符索引,如果它(字符)不存在该怎么办?
答案 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;
更多细节和示例可以在这里找到: