关于另一个文件读写问题
程序代码:#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;
}程序目的往文件写入学生信息,然后在从文件读出学生信息。如果没有读到文件尾就读出信息否则关闭文件。但是为什么多读了一些内容?




