2012-08-26 36 views
1

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

编辑:更清楚地发现:find返回我们正在寻找的字符的索引,如果它(字符)不在那里呢?

回答

9

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

+0

find返回字符的,我们正在寻找的指标,如果它是什么,不是吗? – Yoda

+0

@RobertKilar作为答案说 - 它返回一个值'std :: string :: npos' –

6

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

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

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

+0

http://jcatki.no-ip.org/fncpp/cplusplus.com – 2012-08-26 20:22:44

+0

@ jons34yp谢谢,我不知道这个问题。我编辑了我的答案,并将链接更改为指向cppreference.com。 –

相关问题