C++二进制文件的输出问题

1、为什么会重复输出(如图)?2、为什么不是二进制文件创建文件时的代码:ofstreamoutfile("test.dat",ios::binary);... 1、为什么会重复输出(如图)?
2、为什么不是二进制文件

创建文件时的代码:
ofstream outfile ( " test.dat " , ios::binary ) ;
展开
 我来答
衔泥无珮
2015-05-09 · TA获得超过160个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:190万
展开全部
先读取再调用eof()。
我以前也遇到过这个问题。要读了文件尾eof()才返回false的,文件已经读完但是没有读文件尾的话返回的依旧是true。

读的是二进制,调用write的话输出会是十六进制,直接输出二进制的不知道有没有,自己转换吧
更多追问追答
追问
那如何将文件读完之后,再读eof()?
追答
in.read(...);
while(!in.eof())
{
//do some operation
in.read(...);
}
这样是一种方式
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式