integers lezen uit een binaire file

Status
Niet open voor verdere reacties.

andre blonk

Gebruiker
Lid geworden
24 nov 2007
Berichten
6
ls

Ik probeer een integer te lezen uit een binaire file
Ik kom niet veel verder dan het lezen van character-strings
bv
char idcode [16];
...
...
myfile.read (idcode, 16);
cout << idcode; cout << "\n";

nu wil ik in plaats van idcode een short integer of een integer lezen

Gewoonlijk programmeer ik in fortran en dit is mijn eerste c++ ervaring
Ik heb het idee dat ik op een verkeerde manier denk

Wie heeft een tip
Andre
 
Een voorbeeldje:
Code:
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
  cout << "Saving some integers in a binary file...\n";
  
  int o1 = 15;
  int o2 = 32;
  int o3 = 2343;
  
  ofstream out("integers.txt", ios::binary);
  out.write((char*)&o1, sizeof(o1));
  out.write((char*)&o2, sizeof(o2));
  out.write((char*)&o3, sizeof(o3));
  out.close();
  
  cout << "Done.\n";
  
  cout << "Reading some integers from a binary file...\n";
  
  int i1, i2, i3;
  
  ifstream in("integers.txt", ios::binary);
  in.read((char*)&i1, sizeof(i1));
  in.read((char*)&i2, sizeof(i2));
  in.read((char*)&i3, sizeof(i3));
  in.close();
  
  cout << "Done.\n";
  
  cout << "Integers in file were: " << i1 << " " << i2 << " " << i3 << ".\n";
  
  cin.get();
  
  return 0;
}

Ik weet niet precies hoe het allemaal zit maar bij binary werkt alles met bytes. Omdat een char 1 byte groot is kun je het adres van je integer naar (char*) casten, en sizeof(...) geeft de grootte van je integer terug in bytes.
Die twee geef je door aan read en write en dan moet het lukken :P.

Ik ben heel slecht in uitleggen.. hier een tutorial: http://www.codersource.net/cpp_file_io_binary.html

http://www.google.nl/search?hl=nl&q=c+++file+i/o+binary+tutorial&btnG=Google+zoeken&meta=

Succes!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan