繁体   English   中英

比较列表中的字符串元素 <string> 和向量 <string>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM