用另一个字符串替换部分字符串(缺少第一个字符串)
问题描述:
cin >>“你很好。”用另一个字符串替换部分字符串(缺少第一个字符串)
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
cin >> s;
while (getline(cin, s))
{
while (s.find("bad")!= string::npos)
{
s.replace(s.find("bad"), 3, "good");
}
cout << s << endl;
}
return 0;
}
cout < <“非常好。”
第一个词“你”在哪里?应该如何查看正确的代码?
答
cin >> s;
在循环读取行的第一个单词并将其从输入流中移除之前。然后getline(cin, s)
读取该行的其余部分。所以第一次通过循环,s
只是are very bad
。然后您将bad
替换为good
,结果为are very good
。
cin >> s;
行似乎没有任何理由,所以只要删除它。