Hi all, I am trying to write a struct to a file then read it again, but it cant get it to work. It compiles file, but when I try to read it, I don’t get anything. I don’t think that I am writing the data to the file correctly. Because when I have a look at the file I am writing to with a hex editor I get this.
Code:
f4 24 3d 00 14 25 3d 00 00 ô$=
Below is the code, anyideas on what I am doing wrong?
Code:
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
struct ITEM {
string txta;
string txtb;
} item;
int main(int argc, char *argv[])
{
item.txta = "txta";
item.txtb = "txtb";
cout << item.txta << " = " << item.txtb << endl;
ofstream fout("file.dat", ios::binary);
fout.write((char *)(&item), sizeof(item));
fout.close();
item.txta = "";
item.txtb = "";
ifstream fin ("file.dat");
if (fin.is_open())
{
while (! fin.eof() )
{
fin.read((char *)(&item),sizeof(item));
cout << item.txta << " = " << item.txtb << endl;
}
} else cout << "Unable to open file";
return EXIT_SUCCESS;
}