Use write() to output a block of binary data. : binary file « File Stream « C++ Tutorial






#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;

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

int main()
{
  ofstream fout("InvDat.dat", ios::out | ios::binary);

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

  inventory inv[3];

  strcpy(inv[0].item,"A");
  inv[0].quantity = 3;
  inv[0].cost = 9.99;

  strcpy(inv[1].item, "B");
  inv[1].quantity = 12;
  inv[1].cost = 7.85;

  strcpy(inv[2].item, "C");
  inv[2].quantity = 19;
  inv[2].cost = 2.75;

  for(int i=0; i<3; i++)
    fout.write((const char *) &inv[i], sizeof(inventory));

  fout.close();

  if(!fout.good()) {
    cout << "A file error occurred.";
    return 1;
  }

  return 0;
}








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