Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.051 c
2-1179894522
allucard
2007-05-23 08:28
2007.06.10
Обяъсните неграмотному Packed Record


2-1179521069
NDF
2007-05-19 00:44
2007.06.10
Глупый Вопрос


2-1179835519
iXT
2007-05-22 16:05
2007.06.10
Free


4-1160821750
rll-progr
2006-10-14 14:29
2007.06.10
Управление окном другого приложения


15-1178992711
Ёжик
2007-05-12 21:58
2007.06.10
Вышел - таки KDE4





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский