Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
2-1179826391
alles
2007-05-22 13:33
2007.06.10
Работа с Array of Char


2-1179688675
simona4
2007-05-20 23:17
2007.06.10
объединить базы


11-1160674421
ANTPro
2006-10-12 21:33
2007.06.10
Минимальное приложение/dll на KOL


2-1179743482
wazaXXX
2007-05-21 14:31
2007.06.10
Как прописать .reg файл в регистр ?


2-1179521983
style007
2007-05-19 00:59
2007.06.10
опять этот Invalid floating ....




   Наверх