writeobj92.cpp

来自「C++ sample code, for the book: C++ blac」· C++ 代码 · 共 42 行

CPP
42
字号
#include <iostream>
#include <fstream>
using namespace std;

const int NUMBER_OBJECTS = 15;

class entry
{
public:
    char name[20];
    float owes;
    void display() {cout << name << " owes $" << owes << endl;}
};

int main()
{
    entry object_array[NUMBER_OBJECTS], one_record;
    ofstream fout("file.dat", ios_base::binary);

    if (!fout.is_open()) {
        cerr << "Error: Could not create file." << endl;
        exit(1);
    }

    strcpy(object_array[0].name,"Ebeneezer Scrooge");
    object_array[0].owes = 0.01;

    strcpy(one_record.name,"Bob Crachit");
    one_record.owes = 312.59;

    fout.write(reinterpret_cast<char *> (object_array), 
        NUMBER_OBJECTS * sizeof(entry));

    fout.seekp(9 * sizeof(entry), ios::beg);
    
    fout.write(reinterpret_cast<char *> (&one_record), 
        sizeof(entry));

    fout.close();

    return 0;
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?