[英]Comparing string elements in list<string> and vector<string>
我想比较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 ...
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.