作者simpdanny (辛普丹尼)
看板EE_DSnP
標題Re: [問題] hw1.2.p3c
時間Mon Oct 8 21:40:41 2012
其實估狗就會看到了...
cin 在iostream裡面找字元的時候(就是在讀你鍵盤)
讀到\n (換行) 時候會停
但是stream還停留在 \n 上不會跳過
getline在讀的時候不會忽略這格
會以為讀到\n( 也就是default delim )
會把這行讀起來存在n[0]
所以你會發現在cout debug的時候空了一行
於是bug發生了。
1 . 不要把getline放在cin後...
2 . cin.ignore(XXXXXX)
3 . 用一個dummy去抓那個誤讀的\n
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.248.73
1F:推 hsnuyi:嗯... 我試過在cin >> arraySize;後加上cout << "___"; 不 10/08 21:45
2F:→ hsnuyi:過沒有用 所以以為不是\n的問題 >< 10/08 21:46
3F:→ hsnuyi:喔 然後我cout debug時 沒有多一行欸... >< 10/08 21:53
4F:推 hsnuyi:喔喔!! 加上cin.ignore();就好了... Q_Q 感謝大大 >///< 10/08 22:02
5F:→ simpdanny:喔 應該不會多一行XD因為\n不會被存進去 只不過會判斷 10/08 22:08
6F:→ simpdanny:終止就是了 10/08 22:08
7F:推 steve1012:好像叫做phanton 螞蟻書有講 10/08 22:21
8F:→ hsnuyi:嗯... 好吧 668頁有寫 不過第14章後我就不知道在幹嘛了 @_@ 10/08 22:51