用二进制文件保存学生信息(P313)
/*
读写二进制文件:
二进制数据文件以基本类型数据的二进制形式存放,即二进制文件中数据的存储格式与内存格式一致,存储长度仅与数据类型相关。(便于高速处理)
C++用binary方式打开二进制文件,调用ifstream或fstream的read()成员函数从文件中读取数据,调用ofstream或fstream的write()成员函数向文件中写入数据。
1、用ostream::write()成员函数写文件
ostream & write(char * buffer,int nCout);
该成员函数将内存中buffer所指向的nCount个字节的内容写入文件,返回值是对函数所作用的对象的引用。
*/
#include<iostream>
#include<fstream>
using namespace std;
class CStudent
{
public:
char id[11];
char name[21];
int score;
};
int main()
{
CStudent stu;
ofstream outFile("students.dat",ios::out|ios::binary);
if(!outFile)
{
cout<<"创建文件失败"<<endl;
return 0;
}
cout<<"请输入:学号 姓名 成绩(以Ctrl+Z结束输入)\n";
while(cin>>stu.id>>stu.name>>stu.score)
outFile.write((char*)&stu,sizeof(stu));
outFile.close();
return 0;
}

浙公网安备 33010602011771号