Use read() to input blocks of binary data. : binary file « File Stream « C++ Tutorial






#include <iostream>
#include <fstream>

using namespace std;

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

int main()
{
  ifstream fin("InvDat.dat", ios::in | ios::binary);

  if(!fin) {
    cout << "Cannot open file.\n";
    return 1;
  }
  inventory inv[3];

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

  fin.close();

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

  for(int i=0; i < 3; i++) {
    cout << inv[i].item << "\n";
    cout << " Quantity on hand: " << inv[i].quantity;
    cout << "\n Cost: " << inv[i].cost << "\n\n";
  }

  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