关于另一个文件读写问题
程序代码:
#include "stdafx.h" #include "fstream" #include "iostream" using namespace std; struct student { int no; char name[10]; float score; }; int main(int argc, char* argv[]) { int i; struct student stu[3]; struct student stu2[3]; for( i=0;i<3;i++) { cout<<"请输入第"<<i+1<<"个学生信息:(学号,姓名,分数)"<<endl; cin>>stu[i].no>>stu[i].name>>stu[i].score; } ofstream file1; ifstream file2; file1.open("student.txt",ios::out|ios::app); for( i=0;i<3;i++) file1.write((char *)&stu[i],sizeof stu[i]); file1.close(); file2.open("student.txt",ios::in); i=0; while((file2.eof())==0) { file2.read((char *)&stu2[i],sizeof stu2[i]); cout<<"学号:"<<stu2[i].no<<"姓名:"<<stu2[i].name<<"分数:"<<stu2[i].score<<endl; i++; } file2.close(); return 0; }程序目的往文件写入学生信息,然后在从文件读出学生信息。如果没有读到文件尾就读出信息否则关闭文件。但是为什么多读了一些内容?