
C++二进制文件的输出问题
1、为什么会重复输出(如图)?2、为什么不是二进制文件创建文件时的代码:ofstreamoutfile("test.dat",ios::binary);...
1、为什么会重复输出(如图)?
2、为什么不是二进制文件
创建文件时的代码:
ofstream outfile ( " test.dat " , ios::binary ) ; 展开
2、为什么不是二进制文件
创建文件时的代码:
ofstream outfile ( " test.dat " , ios::binary ) ; 展开
1个回答
展开全部
先读取再调用eof()。
我以前也遇到过这个问题。要读了文件尾eof()才返回false的,文件已经读完但是没有读文件尾的话返回的依旧是true。
读的是二进制,调用write的话输出会是十六进制,直接输出二进制的不知道有没有,自己转换吧
我以前也遇到过这个问题。要读了文件尾eof()才返回false的,文件已经读完但是没有读文件尾的话返回的依旧是true。
读的是二进制,调用write的话输出会是十六进制,直接输出二进制的不知道有没有,自己转换吧
更多追问追答
追问
那如何将文件读完之后,再读eof()?
追答
in.read(...);
while(!in.eof())
{
//do some operation
in.read(...);
}
这样是一种方式
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询