cin会以空格,Tab,回车(换行符)为标志读取缓冲区的数据
cin.getline 在适当的参数下,可以读取一行。
但 两者在混淆使用的时候,需要注意:
cin会被标识符,留在缓冲区里。
cin.getline,会读取标识符。
cin>>a;
cin.getline(temp,100,'\n');
cout<<a<<endl;
cout<<temp<<endl;
但输入
1+enter;
aaa+enter;
预期想要输出的是:
1
AAA
但实际结果,却为:
1
造成这样的原因是因为:
在缓冲区里面,1,‘\n',AAA,'\n'
当1被a读取,其中的第一个‘\n',被cin.getline(temp)读取,输出空行。