gpt4 book ai didi

c++ - String.find 总是返回 true (C++)

转载 作者:太空狗 更新时间:2023-10-29 23:26:36 30 4
gpt4 key购买 nike

我试图让 boolean 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 不返回 boolean 值。

found_word = text.find("khgdawjugfdjhawbdjkhsadgawkdsa") != std::string::npos;

0,即 false,仅当在索引 0 处找到子字符串时才会返回。

此外,您的第二个条件是多余的 - 如果 found_wordfalse,我个人保证 !found_word 将为 true.

关于c++ - String.find 总是返回 true (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13183784/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com