C++文件问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 19:02:29
#include<iostream>
#include<fstream>
using namespace std;
struct Student
{
int num;
char name[20];
int age;
};
int main()
{
int i;
Student stu1[5];
Student stu[5]={{1001,"MC",19},{1002,"CC",20},{1003,"BB",21},{1004,"PO",23},{1005,"LK",26}};
fstream outinflie("E:\\f1.dat",ios::in|ios::out|ios::binary);
if(!outinflie)
{
cerr<<"cuowu"<<endl;
exit(1);
}

outinflie.write((char *)&stu,sizeof(stu));
cout<<endl;
for(i=0;i<5;i++)
{
outinflie.read((char *)&stu1[i],sizeof(stu[i]));
}
outinflie.close();
for(i=0;i<5;i++)
{
cout<<stu1[i].num<<endl;
cout<<stu1[i].name<<endl;
cout<<stu1[i].age<<endl;
}
return 0;
}

屏幕显示乱码

给你的程序,供参考
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
struct Student
{
int num;
char name[20];
int age;
};
struct Student stu[5]={{1001,"MC",19},{1002,"CC",20},{1003,"BB",21},{1004,"PO",23},{1005,"LK",26}};
void main()
{
fstream file;
file.open("file1.dat",ios::in|ios::out|ios::binary);
if(!file)
{
cerr<<"cuowu"<<endl;
exit(1);
}
for(int i=0;i<5;i++)
file.write((char *)&stu[i],sizeof(stu[i]));
file.seekp(0,ios::beg);
for(i=0;i<5;i++)
{
file.read((char *)&stu[i],sizeof(stu[i]));
cout<<stu[i].num<<'\t'<<stu[i].name<<'\t'<<stu[i].age<<endl;
}
file.close();

}

outinflie.read((char *)&stu1[i],sizeof(stu[i]));

这句就有问题,自己