作者tcm2006 (葉子綠)
看板EE_DSnP
標題[問題] 多存了一個\n
時間Sat Dec 24 21:38:38 2011
是這樣的
只有一行文字的檔案,比如說aag 7 2 0 2 3
我用file.get(buf,1024)得到的內容也是aag 7 2 0 2 3
原先預期用file.peek()會得到EOF,但它卻回傳給我'\n'
更奇怪的是
我用Windows7 + GCC,得到的是EOF
linux的檔案結尾會自動有\n嗎?(沒查到相關訊息...)
還是我什麼地方觀念不對 請各位幫忙糾正 謝謝囉
(測試完.....)
原來檔尾真的有一個\n
沒換行害我沒注意到
謝謝某位丟水球的好心人提醒我這點~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.248.197
※ 編輯: tcm2006 來自: 140.112.248.197 (12/24 23:06)
1F:推 ric2k1:請看一下: Lecture #3 講 file I/O 的那一篇, p34 vs. p35 12/24 23:40
2F:→ ric2k1:get() 會把 delimiter 留在 stream 裡 12/24 23:41
3F:→ ric2k1:而 getline() 會把 delimiter 吃進來. 12/24 23:42
4F:→ ric2k1:所以你用 get() 會看到 \n 是對的. 12/24 23:43
5F:→ ric2k1:至於 Window$ 的 GCC... 參考一下就好,不要被誤了大事... 12/24 23:44
6F:→ tcm2006:謝謝老師~ get和getline的區別我曉得 就是原先沒料到檔尾 12/25 10:57
7F:→ tcm2006:有'\n' 12/25 10:57