用另一个字符串替换字符串的一部分(缺少第一个字符串)

时间:2016-08-18 15:55:50

标签: c++

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&lt;&lt; &#34;非常好。&#34;

第一个字在哪里&#34;你&#34;?应该怎么看正确的代码?

1 个答案:

答案 0 :(得分:2)

在循环读取行的第一个单词并将其从输入流中删除之前,

cin >> s;。然后getline(cin, s)读取剩下的行。因此,第一次完成循环时,s只是are very bad。然后,您将bad替换为good,结果为are very good

cin >> s;行似乎没有任何理由,所以只需删除它。