Сохраняю объекты класса address в одном проекте:
#include "..\address.h"
int main () {
//
SetConsoleOutputCP(1251);
char* filename="..\\write.txt";
address a("Иванов","Ленина",1),b("Petrov","gg",2),c("3","3",3);
filebuf buf;
buf.open(filename,ios::out|ios::binary);
ostream out(&buf);
out.write((char*)&a, sizeof(address));
out.write((char*)&b, sizeof(address));
out.write((char*)&c, sizeof(address));
buf.close();
return 0;
}
Считываю в другом проекте:
#include "..\address.h"
int main () {
//
SetConsoleOutputCP(1251);
char* filename="..\\write.txt";
in.open(filename,ios::in | ios::binary);
address a,b,c;
in.read((char*)&a,sizeof(address));
in.read((char*)&b,sizeof(address));
in.read((char*)&c,sizeof(address));
a.Show();
b.Show();
c.Show();
in.close();
return 0;
}
Когда вывожу в первых двух полях которые string абракадабра, а в третьем, которое инт все нормально. Студия Visual Studio 6. Когда записываю и считываю в одном проекте все нормально. И в 2005 студии в разных все нормально работает. Но нужно сделать в 6 и в разных. Как?