65,211
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<string>
#include<cstdio>
int main()
{
std::string s1,s2;
std::cin>>s1;
std::cout<<s1<<std::endl;
getchar(); //提取前一个换行符
getline(std::cin,s2,'\n');
std::cout<<s2<<std::endl;
system("pause");
return 0;
}
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::getline;
int main()
{
string s1;
string s2;
cin>>s1;
cout <<s1 <<endl;
//因为上面cin>>s1时缓冲区残留有回车,所以在下面getline时直接结束了.
//解决办法有很多:
//cin.get();(读取回车, 忽略返回值) 或者cin.sync();(清空缓冲) 或者cin.ignore(1); (忽略一个字符)
getline(cin,s2,'\n');
cout <<"a";
cout <<s2;
cout <<"b";
return 0;
}