gpt4 book ai didi

c++ - 比较 list 和 vector 中的字符串元素

转载 作者:行者123 更新时间:2023-11-28 06:40:58 28 4
gpt4 key购买 nike

我想比较 list<string> 中的字符串元素和 vector<string> .

这样的代码工作正常:

list<string> FileNamesPatternsList; // In this list there are about 100 files
vector<string> FilesToBeSearched; // In this vector there are about 300 files

list<string>::iterator compareIterator;
vector<string>::iterator compareIterator2;

for( compareIterator = FileNamesPatternsList.begin(); compareIterator != FileNamesPatternsList.end(); compareIterator++){
for( compareIterator2 = FilesToBeSearched.begin(); compareIterator2 != FilesToBeSearched.end(); compareIterator2++)
{
smatch result;
if(regex_search(*compareIterator2,result,regex(*compareIterator))){
MyFilewithResults << "File: " << result[0] << "fit to" << *compareIterator2 << endl;
}
}

}

尽管结果只有匹配的元素被存储到 txt 文件 (MyFilewithResults)。

如何存储不匹配的结果?已添加 if()...else在这种情况下不起作用。

最佳答案

听起来解决方案是“记住”您是否找到了匹配项。

因此,在伪代码中:

for(every element)
{
found = false
for(each thing to match with)
{
if (is a match)
{
found = true;
... do other stuff here ...
}
}
if (!found)
{
... do whatever you do if it wasn't in the list ...
}
}

关于c++ - 比较 list<string> 和 vector<string> 中的字符串元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25957945/

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