繁体   English   中英

将正则表达式结果存储在向量中 <string> 使用 <regex>

[英]Storing regular expression result in vector<string> using <regex>

我正在使用正则表达式从字符串中提取一行文本。 我将它们存储在向量中以备后用。 我的问题是,当我从向量访问文本时,什么也没出现。 我在使用cout显示字符串时注意到,除非在字符串之后使用endl,否则它将不会显示任何内容。 我也注意到C ++给出的示例故意将cout的endl显示为regex_search结果http://www.cplusplus.com/reference/regex/regex_search/

这是我所讨论的代码的片段:

while (regex_search(s, m, e)) {

     for (auto x:m){

        blocks.push_back(x);
     }

     s = m.suffix().str();
}

for (auto i: blocks){
        cout << i;
}

当我做

for (auto i: blocks){
        cout << i << endl;
}

它显示内容。

cout可能会缓存。 endl将缓存刷新为cout.flush(); cout.flush(); 在最后一个循环之后,查看它的输出。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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