作者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