作者a82 (QQ)
看板C_and_CPP
標題[問題] \n的問題
時間Tue Jul 14 13:58:50 2015
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()跑完後才在最後面加上的嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.100.76.171
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1436853533.A.3CC.html
→ putumaxally: cin >> a; cin.ignore(); 07/14 19:00
→ putumaxally: 感覺是緩衝區的問題,不過我對IO不熟,不解釋 07/14 19:02
→ bjiyxo: cin>>a你輸入的時候就已經把\n輸進緩衝區了,所以在 07/14 22:24
→ bjiyxo: cin.getline()之前就有\n了 07/14 22:25