Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 209, средняя оценка - 4.61
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
#1

Как открыть бинарный файл, не зная его структуру? - C++

22.01.2009, 01:41. Просмотров 26282. Ответов 12
Метки нет (Все метки)

Можно ли как-нибудь открыть бинарный файл, не зная его структуру?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2009, 01:41     Как открыть бинарный файл, не зная его структуру?
Посмотрите здесь:
C++ Как правильно сохранить и потом считать структуру в бинарный файл
Не получается прочесть правильно текстовый файл в структуру а затем в бинарный файл C++
Записать структуру в бинарный файл C++
C++ Как записать структуру в бинарный файл одним "блоком"
Не получается открыть бинарный файл C++
C++ Открыть бинарный файл(.ехе) и сохранить часть байтов в текст
Как запихнуть в exe html файл и открыть его через нужный мне браузер? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vander
0 / 0 / 0
Регистрация: 15.09.2008
Сообщений: 26
22.01.2009, 02:14     Как открыть бинарный файл, не зная его структуру? #2
Открыть то можно, но тогда зачем если ты всеравно ничего не поймеш.
А для понимания надо знать структуру.
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
22.01.2009, 02:14     Как открыть бинарный файл, не зная его структуру? #3
fopen(. . . ,"rb");
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
23.01.2009, 03:03  [ТС]     Как открыть бинарный файл, не зная его структуру? #4
Не правильно сформулировал вопрос, открыть-то, понятно-можно, а прочитать как-нибудь, не зная его структуру?
Lord_Voodoo
Супер-модератор
8580 / 2180 / 61
Регистрация: 07.03.2007
Сообщений: 10,864
Завершенные тесты: 1
23.01.2009, 07:59     Как открыть бинарный файл, не зная его структуру? #5
qwert, да читать вы его можете точно также каки файл, структуру которого вы знаете, но вот какой смысл в этом, объясните? функциям абсолютно все равно, знаете вы структуру или нет...
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
24.01.2009, 02:39  [ТС]     Как открыть бинарный файл, не зная его структуру? #6
Цитата Сообщение от WooDooMan Посмотреть сообщение
qwert, да читать вы его можете точно также каки файл, структуру которого вы знаете, но вот какой смысл в этом, объясните? функциям абсолютно все равно, знаете вы структуру или нет...
В чём смысл? Например, дали бинарный файл, и неправильно сказали его структуру, или вообще не сказали, а открыть надо.
Немного не понял про то, что читать как обычный файл. Например, для функции fread нужно знать структуру, а функция fscanf не подойдёт для работы с бинарным файлом. А есть ещё какие-нибудь другие функции для работы с бинарным файлом, которым не нужно указывать структуру?
Lord_Voodoo
Супер-модератор
8580 / 2180 / 61
Регистрация: 07.03.2007
Сообщений: 10,864
Завершенные тесты: 1
24.01.2009, 03:23     Как открыть бинарный файл, не зная его структуру? #7
fstream, iostream посмотри... а как их юзать - на форуме есть тема с чтением внутренностей ярлыков, как раз тебе живой пример
vander
0 / 0 / 0
Регистрация: 15.09.2008
Сообщений: 26
24.01.2009, 05:10     Как открыть бинарный файл, не зная его структуру? #8
для функции fread не нужно знать структуру чтобы открыть и прочитать.
Надо знать чтобы понять, то что ты там увидиш.
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
26.01.2009, 01:58  [ТС]     Как открыть бинарный файл, не зная его структуру? #9
Цитата Сообщение от WooDooMan Посмотреть сообщение
fstream, iostream посмотри... а как их юзать - на форуме есть тема с чтением внутренностей ярлыков, как раз тебе живой пример
Спасибо. Я пока не пользовался потоками fstream. Попробую разоьраться.

Цитата Сообщение от vander Посмотреть сообщение
для функции fread не нужно знать структуру чтобы открыть и прочитать.
Надо знать чтобы понять, то что ты там увидиш.
Этой функции нужно знать размер структуры. Там 4 параметра, второй из которых размер структуры.
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
26.01.2009, 10:50     Как открыть бинарный файл, не зная его структуру? #10
Цитата Сообщение от qwert Посмотреть сообщение
Этой функции нужно знать размер структуры. Там 4 параметра, второй из которых размер структуры.
Нет, не нужно. Читай внимательней. Тебе достаточно указать нужный тебе размер буфера в памяти, а не какой-то структуры. Не говорю, что с помощью ftell вообще можно весь бинарный файл залить в оп в буфер по указателю. Так что, fread пофигу структура у тебя там, или обычный указатель на буфер.
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.01.2009, 11:07     Как открыть бинарный файл, не зная его структуру? #11
можно читать по одному символу fgetc(fp);
если есть макрос getc(fp) тоже можно читать, но возможны побочные эффекты при getc(fp++)
.::.DIMA.::.
143 / 143 / 4
Регистрация: 26.10.2008
Сообщений: 782
27.01.2009, 01:00  [ТС]     Как открыть бинарный файл, не зная его структуру? #12
Цитата Сообщение от Vourhey Посмотреть сообщение
Нет, не нужно. Читай внимательней. Тебе достаточно указать нужный тебе размер буфера в памяти, а не какой-то структуры. Не говорю, что с помощью ftell вообще можно весь бинарный файл залить в оп в буфер по указателю. Так что, fread пофигу структура у тебя там, или обычный указатель на буфер.
Например, укажу я наугад в fread 300 байт, и как прочитать информацию?
А можно поподробнее про ftell, раньше я с ней не сталкивался?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2009, 01:44     Как открыть бинарный файл, не зная его структуру?
Еще ссылки по теме:
Как открыть файл на чтение и запись, создав его, если его не существует, и перезаписать, если он существует? C++
Записать информационную часть списка в бинарный файл, и прочитать его C++
C++ Заполнить массив структур сканеров и записать его в бинарный файл
C++ Создать список с последовательным хранением и записать его в бинарный файл
C++ Запись в бинарный файл двумерного строкового вектора и его считывание

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

Или воспользуйтесь поиском по форуму:
Vourhey
Почетный модератор
6474 / 2249 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
27.01.2009, 01:44     Как открыть бинарный файл, не зная его структуру? #13
Ты такие вопросы задаешь смешные аж жуть. Вот указал ты 300 байт, вот ты 300 байт информации и прочитаешь (если их хватит в файле).
Про ftell в инете можешь найти. Или в книжке любой.

P. S. в противном случае твой вопрос сводится не к тому, как отрыть бинарь, а к следующему: "я такой-сякой нифига не знаю в каком формате хранятся данные в бинаре. че мне терь делать?". По-моему, ты сам еще не понял, что тебе нужно, короче. Как открыть бинарь тебе показали. А формат данных в нем известен только разве великому Ктулху.
Yandex
Объявления
27.01.2009, 01:44     Как открыть бинарный файл, не зная его структуру?
Ответ Создать тему
Опции темы

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