gpt4 book ai didi

c++ - 一次搜索多个字符串

转载 作者:太空宇宙 更新时间:2023-11-04 16:28:30 27 4
gpt4 key购买 nike

我想一次在 vector 中搜索多个字符串。

即 vector =“H”“H”“I”“I” vector2 = "H""I"

所以我想用 vector2 的内容搜索 vector 我的代码在下面,但我认为这不是最好的方法。如果所有字符串都存在,则返回一个标识符,这样我就知道所有字符串都存在了。

有人可以检查下面的代码,看看它是否正确 :) 谢谢

std::vector<std::string> test; 
test.push_back("YES");
test.push_back("YES");
test.push_back("NO");
test.push_back("NO");

std::vector<std::string> test1;
test1.push_back("YES");
test1.push_back("NO");

std::vector<std::string>::iterator it;
for(int i = 0; i < test1.size(); i++)
{



if(find (test.begin(), test.end(),test[i]) != test.begin() )
{
DCS_LOG_DEBUG("Some elements have appeared more than once...");

}

}

最佳答案

比较不正确。如果你想检查容器中是否有至少有一个元素,而不是:

if(find(test.begin(), test.end(),test[i]) != test.begin())

你应该使用:

if(find(test.begin(), test.end(),test1[i]) != test.end())

because find returns test.end()当它找不到匹配项时。

如果您想检查是否存在多个元素,请使用count :

if(count(test.begin(), test.end(),test1[i]) > 1)

关于c++ - 一次搜索多个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9699614/

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