看板 C_and_CPP 關於我們 聯絡資訊
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