[问题] \n的问题

楼主: a82 (QQ)   2015-07-14 13:58:50
int main(void)
{
int a;
char b[20];
cin >> a;
cout << "WWWWWW";
cin.getline(b,20);
cout << b << a << endl;
system("pause");
return 0;
}
执行时 cin.getline(b,20);有问题,最后一行b也不会出来,书上是写输入a后会有\n
\n被留在输入序列,利用cin,getline()读入字串时,字符阵列接收\n,成为空白字串.
但我看不懂,书上的解释,
\n不是cin.getline()跑完后才在最后面加上的吗?
作者: putumaxally (putumaxally)   2015-07-14 19:00:00
cin >> a; cin.ignore();感觉是缓冲区的问题,不过我对IO不熟,不解释
作者: bjiyxo (若自礌)   2015-07-14 22:24:00
cin>>a你输入的时候就已经把\n输进缓冲区了,所以在cin.getline()之前就有\n了

Links booklink

Contact Us: admin [ a t ] ucptt.com