string s;
getline(cin, s);
cout << s;
缺点:但是这种做法只能适用于前面没有其他输入的情况,否者就会只读入前一个输入的回车为字符串输入
改进:你只需要在两个输入之间加"cin.ignore();"去清空输入缓冲区中的回车符。例如下方代码
#include <bits/stdc++.h>
using namespace std;
int main(){int n;cin >> n;cout << n << '\n';string s;getline(cin, s);cout << s;return 0;}
#include <bits/stdc++.h>
using namespace std;
int main(){int n;cin >> n;cout << n << '\n';cin.ignore(); // 改进部分string s;getline(cin, s);cout << s;return 0;}