我试图让布尔型found_word 在找到单词/字符时返回 true,如果没有找到则返回 false,但无论我在文本中写什么,它总是返回 true。循环本身有效,已经尝试过了。包括 IOStream 和字符串。
while(timestorun){
found_word = text.find("khgdawjugfdjhawbdjkhsadgawkdsa");
if(found_word){
cout << "FOUND!!!" << endl;
}
else if(!found_word){
cout << "Found problem!!!!!"<< endl;
}
timestorun--;
}
有什么建议么?
你应该比较npos
. find
不返回布尔值。
found_word = text.find("khgdawjugfdjhawbdjkhsadgawkdsa") != std::string::npos;
0
,即false
, 仅当在索引处找到子字符串时才会返回0
.
另外,你的第二个条件是多余的 - 如果found_word
is false
,我个人保证!found_word
将true
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)