Re: Бинарные файловые потоки.
От: chipmunk  
Дата: 19.01.09 20:28
Оценка:
Здравствуйте, Olmer.k, Вы писали:

OK>создаю объект класса Expenses. Подскажите как его записать в бинарный файл с помощью потоков? Или хотя бы дайте ссылочку на что-то похожее?


сделайте у каждого класса метод write, например для класса Expenses:
void write(std::ostream& out) {  
  out.write(surname, strlen(surname));   // или лучше записать сперва длину строки, потом саму строку
  out.write((char*)&age, sizeof(age));
  out.write((char*)&sex, sizeof(sex));
  exp.write(out);
  profit.write(out);
}

запись объекта Expenses в файл:
Expenses expenses;

ofstream out("file.bin", ios_base::binary);
if(out) {
  expenses.write(out);
}


P.S. этот способ правда не учитывает порядок байт (little endian или big endian) и размеры типов, но это актуально только если Вы пишите кросс-платформенное приложение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.