主要在于std中的cin读入时不会考虑空格后的输出,所以while(cin>>str)相当于在一个一个输出单词忽略了空格,只需要把输入的单词加上空格赋给另一个字符串变量即可,我的处理有点粗糙,导致最后输出的字符串首有一个空格,不得不在最后输出时给它剪辑掉。 #include<iostream> #include<string> using namespace std; int main() { string str, str2; while (cin >> str) { str2 = " &quo...