Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.10;
Скачать: 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 вся ветка

Текущий архив: 2007.06.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
15-1179380544
фотограф
2007-05-17 09:42
2007.06.10
из jpg обратно в RAW


15-1178537817
Kolan
2007-05-07 15:36
2007.06.10
А мастер я таки добил :)


15-1179318595
ProgRAMmer Dimonych
2007-05-16 16:29
2007.06.10
Вопросы по MySQL и PHPMyAdmin


15-1178884442
Сатир
2007-05-11 15:54
2007.06.10
Bluetooth Dongle v.2.0


2-1179583517
LoRd1
2007-05-19 18:05
2007.06.10
Смещение курсора мыши в верхний левый угол