> input;-6ren">
gpt4 book ai didi

c++ - regex_replace 在 cin 期间不工作

转载 作者:行者123 更新时间:2023-11-28 02:20:25 25 4
gpt4 key购买 nike

string input("Have a *great* day");
regex re("(.*)[*](.+?)[*](.*)");

string output;
cin >> input; //Doesn't work
//output = regex_replace(input, re, "$1<p>$2</p>$3");
regex_replace(back_inserter(output), input.begin(), input.end(), re, "$1<p>$2</p>$3");
cout << output << endl;

当我在没有 cin 的情况下运行它时,我得到了我期望的结果:“祝你度过<美好的>一天”

但是,当我使用 cin 并输入与输入完全相同的字符串时,我得到:“有”

遇到空格表达式结束

这是怎么回事?

最佳答案

作为 cin>>input 提取单个单词而不是整个句子,你的 input 只得到整个单词的 Have 祝您度过*美好*的一天,这反射(reflect)了您的产出。只需将 cin>>input 替换为

getline(cin, input); 

占整行。

关于c++ - regex_replace 在 cin 期间不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32727373/

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