cin.getline()
cin.getline(数组名,长度,结束符) 大体与 cin.get(数组名,长度,结束符)类似。
区别在于:
cin.get()当输入的字符串超长时,不会引起cin函数的错误,后面的cin操作会继续执行,只是直接从缓冲区中取数据。但是cin.getline()当输入超长时,会引起cin函数的错误,后面的cin操作将不再执行。
#include
using namespace std;
int main ()
{
char ch, a[20];
cin.getline(a, 5);
cin>>ch;
cout< cout<<(int)ch<return 0;
}
测试输入:
12345[Enter]
输出:
1234
-52
【分析】这里的ch并没有读取缓冲区中的5,而是返回了-52,这里其实cin>>ch语句没有执行,是因为cin出错了