Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 80, средняя оценка - 4.64
Kol-yan
#1

Запись в бинарный файл - C++

19.03.2009, 22:36. Просмотров 9778. Ответов 3
Метки нет (Все метки)

Здравствуйте.
Прошу помочь разобраться с проблемой.
Необходимо записать в двоичный файл 8-байтовое число, но не как строку, а по-байтово само число.
То бишь имеется какой-то бинарник xxx.bin, в него надо записать число, например, 12345678. Не как 31 32 33 34 35 36 37 38, а как 00 00 00 00 00 BC 61 4E.
Как это осуществляется на Си или C++?

Заранее спасибо за ответ)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2009, 22:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись в бинарный файл (C++):

Запись в бинарный файл - C++
Подскажите пожалуйста,где в коде ошибка??никак найти не могу почему х не считает. В файл записываются 0. Задние на картинке. #include...

Запись в бинарный файл - C++
Всем привет. Подскажите пожалста как через fstream добавить запись в бинарный файл ? нужно добавить именно В НАЧАЛО , не очищая...

Запись в бинарный файл - C++
По заданию требуется организовать ввод данных типа структуры в бинарных файл , в соответствии с позицией, задаваемой пользователем. При...

Запись в бинарный файл - C++
Подскажите как записать данные из StringGrid в бинарный файл и компоновка допустим из 2 StringGrid построчно

Запись в бинарный файл - C++
Всем привет. Столкнулся с следующей проблемой при написании курсача,а именно с записью в бинарный в файл: дело в том, что я каждый раз...

Запись в бинарный файл - C++
Помогите приделает функцию что бы она записывала не в обычный файл а в бинарный, уже три чеса сижу выходит ерунда. Надо еще что бы при...

3
Alexiski
Любитель давать советы
340 / 132 / 2
Регистрация: 12.01.2009
Сообщений: 511
19.03.2009, 22:49 #2
Смотрите, например, функции fopen, fwrite.

Только наиболее распространенные системы little-endian, то есть обычно в файл пишется в обратном порядке: 4E 61 BC 00 00 00 00 00
1
Kol-yan
23.03.2009, 19:04 #3
Да, но fwrite имеет формат:
fwrite(buffer, size, count, stream)
где char *buffer является указателем на записываемые данные.
В моем же случае записывается число, а не строка.
Единственное, что пришло в голову, это попробовать использовать методы привидения типов, в стиле reinterpret_cast. То есть в формате:
fwrite(reinterpret_cast<char*>(buffer), size, count, stream)
Хоть это и дает ожидаемый результат, но я не уверен в корректности этого метода. Может есть другие способы?

Кстати, данные действительно пишутся в обратном порядке "4E 61 BC ...") Как можно поменять порядок их записи?
Alexiski
Любитель давать советы
340 / 132 / 2
Регистрация: 12.01.2009
Сообщений: 511
23.03.2009, 21:56 #4
Там все-таки стоит void * buffer, а это означает, что любой указатель можно привести к этому типу без явного преобразования:
C++
1
2
long int N = 12345;
fwrite (&N, sizeof(N), 1, f);
Данные пишутся при этом в файл в том же порядке, в котором хранятся в памяти. Если нам нужно их просто записать, а потом прочитать, то об этом можно не думать - запишутся именно так, как нужно для последующего чтения. Если порядок таки важен, то надо либо переворачивать число в памяти, либо записывать по одному байту, начиная с конца, но тут уже от приведения к байтам не уйти.
0
23.03.2009, 21:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2009, 21:56
Привет! Вот еще темы с ответами:

Запись в бинарный файл - C++
Скажите пожалуйста, правильно ли работает моя программа? (Имеется ввиду запись в бинарный файл) #include &quot;stdafx.h&quot; #include...

Запись структуры в бинарный файл - C++
Добрый вечере,народ. Нужна функция,которая будет записывать структуру в бинарный файл.То есть пользователь выбирает пункт &quot;Save to File&quot; и...

Запись string в бинарный файл - C++
Задача такая. Записать в бинарный файл строку string, а потом убедится, что все было записано верно. Помогите, если не сложно. Долго...

Чтение и запись в бинарный файл - C++
Ребят nомогите мне nожалуйста. Я хочу nрочитать бинарный файл , в котором заnисаны данные в виде структуры, глянул в инете как читают и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru