Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 209, средняя оценка - 4.61
.::.DIMA.::.
143 / 143 / 32
Регистрация: 26.10.2008
Сообщений: 782
#1

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

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

Можно ли как-нибудь открыть бинарный файл, не зная его структуру?
http://www.cyberforum.ru/cpp-beginners/thread295812.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2009, 01:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как открыть бинарный файл, не зная его структуру? (C++):

Не получается прочесть правильно текстовый файл в структуру а затем в бинарный файл
Нужно просто прочесть файл в структуру данных а потом оттуда записать в...

Записать структуру в бинарный файл
Всем доброго времени суток. у меня такая проблема, мне нужно перекинуть в...

Как записать структуру в бинарный файл одним "блоком"
Как записать структуру в бинарный файл одним "блоком", если в структуре есть...

Не получается открыть бинарный файл
Всем привет! Есть класс Garage! у него приватное поле string name и поле...

Открыть бинарный файл(.ехе) и сохранить часть байтов в текст
Всем привет. Задача такая: нужно прочитать .exe. в конце его есть некие...

12
vander
0 / 0 / 0
Регистрация: 15.09.2008
Сообщений: 26
22.01.2009, 02:14 #2
Открыть то можно, но тогда зачем если ты всеравно ничего не поймеш.
А для понимания надо знать структуру.
0
Vourhey
Почетный модератор
6490 / 2264 / 187
Регистрация: 29.07.2006
Сообщений: 12,534
22.01.2009, 02:14 #3
fopen(. . . ,"rb");
0
.::.DIMA.::.
143 / 143 / 32
Регистрация: 26.10.2008
Сообщений: 782
23.01.2009, 03:03  [ТС] #4
Не правильно сформулировал вопрос, открыть-то, понятно-можно, а прочитать как-нибудь, не зная его структуру?
0
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,802
Завершенные тесты: 1
23.01.2009, 07:59 #5
qwert, да читать вы его можете точно также каки файл, структуру которого вы знаете, но вот какой смысл в этом, объясните? функциям абсолютно все равно, знаете вы структуру или нет...
0
.::.DIMA.::.
143 / 143 / 32
Регистрация: 26.10.2008
Сообщений: 782
24.01.2009, 02:39  [ТС] #6
Цитата Сообщение от WooDooMan Посмотреть сообщение
qwert, да читать вы его можете точно также каки файл, структуру которого вы знаете, но вот какой смысл в этом, объясните? функциям абсолютно все равно, знаете вы структуру или нет...
В чём смысл? Например, дали бинарный файл, и неправильно сказали его структуру, или вообще не сказали, а открыть надо.
Немного не понял про то, что читать как обычный файл. Например, для функции fread нужно знать структуру, а функция fscanf не подойдёт для работы с бинарным файлом. А есть ещё какие-нибудь другие функции для работы с бинарным файлом, которым не нужно указывать структуру?
0
Lord_Voodoo
Супер-модератор
8607 / 2228 / 133
Регистрация: 07.03.2007
Сообщений: 10,802
Завершенные тесты: 1
24.01.2009, 03:23 #7
fstream, iostream посмотри... а как их юзать - на форуме есть тема с чтением внутренностей ярлыков, как раз тебе живой пример
0
vander
0 / 0 / 0
Регистрация: 15.09.2008
Сообщений: 26
24.01.2009, 05:10 #8
для функции fread не нужно знать структуру чтобы открыть и прочитать.
Надо знать чтобы понять, то что ты там увидиш.
0
.::.DIMA.::.
143 / 143 / 32
Регистрация: 26.10.2008
Сообщений: 782
26.01.2009, 01:58  [ТС] #9
Цитата Сообщение от WooDooMan Посмотреть сообщение
fstream, iostream посмотри... а как их юзать - на форуме есть тема с чтением внутренностей ярлыков, как раз тебе живой пример
Спасибо. Я пока не пользовался потоками fstream. Попробую разоьраться.

Цитата Сообщение от vander Посмотреть сообщение
для функции fread не нужно знать структуру чтобы открыть и прочитать.
Надо знать чтобы понять, то что ты там увидиш.
Этой функции нужно знать размер структуры. Там 4 параметра, второй из которых размер структуры.
0
Vourhey
Почетный модератор
6490 / 2264 / 187
Регистрация: 29.07.2006
Сообщений: 12,534
26.01.2009, 10:50 #10
Цитата Сообщение от qwert Посмотреть сообщение
Этой функции нужно знать размер структуры. Там 4 параметра, второй из которых размер структуры.
Нет, не нужно. Читай внимательней. Тебе достаточно указать нужный тебе размер буфера в памяти, а не какой-то структуры. Не говорю, что с помощью ftell вообще можно весь бинарный файл залить в оп в буфер по указателю. Так что, fread пофигу структура у тебя там, или обычный указатель на буфер.
0
accept
4833 / 3254 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
26.01.2009, 11:07 #11
можно читать по одному символу fgetc(fp);
если есть макрос getc(fp) тоже можно читать, но возможны побочные эффекты при getc(fp++)
0
.::.DIMA.::.
143 / 143 / 32
Регистрация: 26.10.2008
Сообщений: 782
27.01.2009, 01:00  [ТС] #12
Цитата Сообщение от Vourhey Посмотреть сообщение
Нет, не нужно. Читай внимательней. Тебе достаточно указать нужный тебе размер буфера в памяти, а не какой-то структуры. Не говорю, что с помощью ftell вообще можно весь бинарный файл залить в оп в буфер по указателю. Так что, fread пофигу структура у тебя там, или обычный указатель на буфер.
Например, укажу я наугад в fread 300 байт, и как прочитать информацию?
А можно поподробнее про ftell, раньше я с ней не сталкивался?
0
Vourhey
Почетный модератор
6490 / 2264 / 187
Регистрация: 29.07.2006
Сообщений: 12,534
27.01.2009, 01:44 #13
Ты такие вопросы задаешь смешные аж жуть. Вот указал ты 300 байт, вот ты 300 байт информации и прочитаешь (если их хватит в файле).
Про ftell в инете можешь найти. Или в книжке любой.

P. S. в противном случае твой вопрос сводится не к тому, как отрыть бинарь, а к следующему: "я такой-сякой нифига не знаю в каком формате хранятся данные в бинаре. че мне терь делать?". По-моему, ты сам еще не понял, что тебе нужно, короче. Как открыть бинарь тебе показали. А формат данных в нем известен только разве великому Ктулху.
1
27.01.2009, 01:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2009, 01:44
Привет! Вот еще темы с решениями:

Сконвертировать текстовый файл в бинарный, переписать только положительные числа в другой бинарный файл
Бинарные файлы!! Помогите пожалуйста. Дано бинарный файл ( данные сначала в...

Как запихнуть в exe html файл и открыть его через нужный мне браузер?
В общем есть у меня файл fff.html путем ShellExecute я открываю его через...

Как открыть файл на чтение и запись, создав его, если его не существует, и перезаписать, если он существует?
Как открыть файл на чтение и запись, создав его, если его не существует, и...

Заполнить массив структур сканеров и записать его в бинарный файл
Здравствуйте! Новый день - новая проблема. Не могу справиться с заданием...


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

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

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