fstream读写二进制文件

#include 
#include 

using namespace std;
class Student        //创建一个类Student,包含学生姓名年龄
{
public:
    int age;
    char name[20];
public:
    Student(char *n, int a)   //带两个参数的构造函数
    {
        strcpy(name, n);
        age = a;
    }
    Student()        //无参构造函数
    {
        age = 0;
    }
};

int main()
{
    Student s[2];
    Student s1("aaa",20);
    Student s2("bbb",20);
    ofstream ofs("student.txt",ios::out|ios::binary);    //以二进制 写的方式创建文件student.txt

    ofs.write((char *)&s1, sizeof(Student));    //将对象s1的信息写入文件
    ofs.write((char *)&s2, sizeof(Student));    //将对象s2的信息写入文件

    ofs.close();

    ifstream ifs("student.txt", ios::in|ios::binary);    //以二进制 读的方式打开文件

    for(int i = 0; i < 2; i++)
    {
        ifs.read((char *)&s[i], sizeof(Student));
        cout<

你可能感兴趣的:(c++)