c++中文件读写出错(求助)

hdjava hdjava 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
Student stud;
fstream iofile("stud.txt);
if(!iofile) return -1;
int t=0;
int n;//n代表用户输入的学号
cin>>n;
while(iofile.read((char *)&stud,sizeof(stud)))
{
if(stud.num==n) //按学号查找文件中的学生记录,并修改其信息
{ cout<<stud.num<<" "<<stud.name<<" "<<stud.score<<endl; //显示欲修改的记录
cout<<"Please edit data:"<<endl;
cin>>stud.num>>stud.name>>stud.score;
iofile.write((char *)&stud,sizeof(stud));
t=1;
break;
}
}
if (t==0)
cout<<"没有此学号记录,无法修改!"<<endl;
iofile.close();

以上是核心代码,stud.txt已经建好,而且里面有一些记录。我运行程序时,发现修改后的数据无法写入到文件中。应该是write函数那里执行的不对。但是不太清楚为什么这样?

read 和write对应的文件指针是不是同一个?还是分别对应读指针和写指针?
...全文
评论 6
收藏 已收藏
分享
返回顶部
hdjava
C++ 语言 65,214 成员 250,514 内容