二進位制檔案的讀寫(視訊)
阿新 • • 發佈:2019-02-04
問題及程式碼:
(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; }
執行結果: