为了账号安全,请及时绑定邮箱和手机立即绑定

麻烦看一下这个问题,关于c++文件流的读写,read/write函数的例子跑不通

麻烦看一下这个问题,关于c++文件流的读写,read/write函数的例子跑不通

回首忆惘然 2021-10-20 21:15:50
这是一段书上的例子#include <fstream.h>#include <iostream.h>main(){fstream f("0327.txt",ios::in|ios::out|ios::binary);int i;for(i=0;i<20;i++)f.write((char *)&i,sizeof(int));streampos pos=f.tellp();for(i=20;i<40;i++) f.write((char *)&i,sizeof(int));f.seekg(pos);f.read((char *)&i,sizeof(int));cout<<"The data stored is "<<i<<endl;} 书上给出的结果是打出 The data stored is 20,但是我实际跑出的结果是The data stored is 40.不知道是哪里出的问题,请问这个是例子出错么?
查看完整描述

2 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

读文件时 fstream.open() 函数调用时需要用到 ios::out 标志位。
你代码中
outFile.open("Manager.txt",ios::in|ios::binary);

应该改为:
outFile.open("Manager.txt",ios::in|ios::binary|ios::out);

查看完整回答
反对 回复 2021-10-24
  • 2 回答
  • 0 关注
  • 268 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信