[問題] \n的問題

看板C_and_CPP (C/C++)作者 (QQ)時間10年前 (2015/07/14 13:58), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
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

07/14 19:00, , 1F
cin >> a; cin.ignore();
07/14 19:00, 1F

07/14 19:02, , 2F
感覺是緩衝區的問題,不過我對IO不熟,不解釋
07/14 19:02, 2F

07/14 22:24, , 3F
cin>>a你輸入的時候就已經把\n輸進緩衝區了,所以在
07/14 22:24, 3F

07/14 22:25, , 4F
cin.getline()之前就有\n了
07/14 22:25, 4F
文章代碼(AID): #1LfAKTFC (C_and_CPP)
文章代碼(AID): #1LfAKTFC (C_and_CPP)