Вниз
Скачать: 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.017 c
15-1179320710
IMHO
2007-05-16 17:05
2007.06.10
ГКЧП (1991, август)


15-1179163194
@!!ex
2007-05-14 21:19
2007.06.10
Что за вирус?


15-1179195101
Slider007
2007-05-15 06:11
2007.06.10
С днем рождения ! 15 мая


9-1153207029
Lam3r
2006-07-18 11:17
2007.06.10
DirectX обучение


15-1178962492
TCrash
2007-05-12 13:34
2007.06.10
выбор SQL




   Наверх