Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Запись/чтения данных из/в поток(а) в бинарном режиме  (Прочитано 8086 раз)
0 Пользователей и 1 Гость смотрят эту тему.
acc15
Гость
« : 13-07-2006 02:38 » 

Как записывать данные в поток в бинарном режиме?
т.е. к примеру нужно записать 5 двойных слов в файл.
Код: (Text) Пример 1
ofstream strm("...");
strm << v[0] << v[1] << ... << v[4];
В этом случае значения переводятся в текст и в файле находится именно текст.
Код: (Text) Пример 2
ofstream strm("...",ios_base::binary);
strm << v[0] << v[1] << ... << v[4];
также не помогает, как я понял это лишь не добавляет CR LF /0 символы... т.е. в итоге тотже текст.

Код: (Text) Пример 3
ofstream strm("...",ios_base::binary);
strm.write(reinterpet_cast<const char*>(v),sizeof(DWORD)*5);
Работает... однако мне кажется неграмотным, т.к. ф-ция создавалась именно для вывода текста...

Где же правильное решение? Есть ли нормальная ф-ция для записи чтения Байтов данных из/в поток(а)?
Записан
LP
Помогающий

ru
Offline Offline

« Ответ #1 : 13-07-2006 04:16 » 

Для бинарного ввода/вывода используют функции read/write, т.е. 3-й способ.
Записан

Если эта надпись уменьшается, значит ваш монитор уносят
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #2 : 14-07-2006 03:07 » new

если в своей работе ты практикуешь использование boost то тебе поможет вот это.
http://www.boost.org/libs/serialization/doc/tutorial.html

А вообще можешь написать свой оператор для векторов. который будет вызывать read/write
или функтор и передовать его алгоритм for_each
Записан

Странно всё это....
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines