Форум: "Прочее";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
ВнизC++ Файловые потоки: read, write. Странные вещи происходят. Найти похожие ветки
← →
Ravshan (2007-05-13 11:50) [0]Сохраняю объекты класса 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 и в разных. Как?
← →
DrPass © (2007-05-13 12:06) [1]
> Когда записываю и считываю в одном проекте все нормально
Да, это логично - после сохранения и считывания адреса строки в одном и том же процессе он все равно будет действительным :)
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.06.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c