在C++中用getline()函数输入时包含上次的输入内容,该怎么解决?

看这个程序:

#include <iostream>
#include <string>
using namespace std;
int main(){
    string str;
    while(true){
        getline(cin,str);
        cout<<str;
    }
    return 0;
}

运行程序后,第一次输入"123abc",输出"123abc"。第二次输入"test",却输出"123abctest"。

我该怎么解决?

什么开发环境啊......

#include <iostream>
#include <string>
using namespace std;
int main(){
    string str,str1;
    while(true){
        getline(cin,str);
        str1+=str;
        cout<<str1<<endl;
    }
    return 0;
}