Вниз
Скачать: 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-1179151025
Cyrax
2007-05-14 17:57
2007.06.10
Как, пользуясь правилами данного форума, определить судьбу...


2-1179854765
Prasal
2007-05-22 21:26
2007.06.10
Поиск


2-1179183160
ИгорьЕ
2007-05-15 02:52
2007.06.10
Как изменить яркость у картинки в TImage?


1-1176236761
Gringoire
2007-04-11 00:26
2007.06.10
Как через программу созданую в Delphi запустить другую программу?


3-1174267171
Sp1r1t
2007-03-19 04:19
2007.06.10
Поиск в подчиненной таблице




   Наверх