就拿这段代码举例,这里输入一个字符a,再用getline()函数接收一个字符串s的值并输出,输入:a,回车程序结束,问题是getline()读取了回车导致结束,所以这里如果想用回车输入的话要加一个getchar()吃掉回车
#include<iostream>
using namespace std;
main(){
char a;
string s;
cin>>a;
getline(cin,s);
cout<<a<<endl<<s;
}
#include<iostream>
using namespace std;
main(){
char a;
string s;
cin>>a;
getchar();//这里吃掉回车
getline(cin,s);
cout<<a<<endl<<s;
}
结果正确!