二进制文件的读写(视频)

来源:互联网 发布:用java打印等腰三角形 编辑:程序博客网 时间:2024/05/29 10:09

问题及代码:

(1)二进制文件写入

#include<iostream>#include<fstream>#include<cstdlib>using namespace std;struct student{    char name[5];    int num;    int age;    char sex;};student  stud[3]={    {"li",25,18,'f'},    {"fun",32,19,'m'},    {"wang",40,17,'f'}};int main(){    ofstream outfile("stud.dat",ios::binary);    if(!outfile)    {        cerr<<"open error!"<<endl;        exit(1);    }    for(int i=0;i<3;i++)        outfile.write((char*)&stud[i],sizeof(stud[i]));    cout<<"任务完成,请查看文件。"<<endl;    outfile.close();    return 0;}


(2)读出二进制文件

#include<iostream>#include<fstream>#include<cstdlib>using namespace std;struct student{    char name[5];    int num;    int age;    char sex;};int main(){    student stud[3];    int i;    ifstream infile("stud2.dat",ios::binary);    if(!infile)    {        cerr<<"open error!"<<endl;        exit(1);    }    for(int i=0;i<3;i++)        infile.read((char*)&stud[i],sizeof(stud[i]));    infile.close();    for(i=0;i<3;i++)    {        cout<<"name:"<<stud[i].name<<endl;        cout<<"num:"<<stud[i].num<<endl;        cout<<"age:"<<stud[i].age<<endl;        cout<<"sex:"<<stud[i].sex<<endl;        cout<<endl;    }    return 0;}


 

运行结果:

 

0 0
原创粉丝点击