c++中文件读写出错(求助)
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对应的文件指针是不是同一个?还是分别对应读指针和写指针?
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对应的文件指针是不是同一个?还是分别对应读指针和写指针?
...全文
相关推荐
linux下c语言编程入门
Linux 的发行版中包含了很多软件开发工具. 它们中的很多是用于 C 和 C++应用程序 开发的. 本文介绍了在 Linux 下能用于 C 应用程序开发和调试的工具. 本文的主旨是介绍 如何在 Linux 下使用 C 编译器和其他 C 编程工具, 而非 C 语言编程的教程.
C/C++读写文本文件、二进制文件的方法
今天小编就为大家分享一篇C/C++读写文本文件、二进制文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
C++文件读写 可操作
地质大学信息工程学院的学生必须懂得的文件读写操作,适用于低年级同学学习
C++文件读写类
一个简单到文件封装类, 带演示程序, 可以夸平台运行
C C++ C++ Builder的各种文件读写操作总结
C C++ C++ Builder的各种文件读写操作总结


