Write Unformatted Binary Data to a File : binary file « File Stream « C++ Tutorial






#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;

struct inventory {
  char item[20];
  int quantity;
  double cost;
};

int main(int argc, char *argv[])
{
  inventory entry;
  long record_num = 2;

  ifstream fInvDB("InvDat.dat", ios::in | ios::binary);

  if(!fInvDB) {
    cout << "Cannot open file.\n";
    return 1;
  }

  fInvDB.seekg(sizeof(inventory) * record_num, ios::beg);
  fInvDB.read((char *) &entry, sizeof(inventory));
  fInvDB.close();
  if(!fInvDB.good()) {
    cout << "A file error occurred.\n";
    return 1;
  }
}








12.3.binary file
12.3.1.Open a binary file
12.3.2.Reading binary file
12.3.3.Open a binary file and read
12.3.4.Output a binary file in hexadecimal
12.3.5.Write Unformatted Binary Data to a File
12.3.6.Use read() to input blocks of binary data.
12.3.7.Use write() to output a block of binary data.
12.3.8.Creating a randomly accessed file
12.3.9.Append to a binary file
12.3.10.Unformatted and Binary I/O