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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 412, средняя оценка - 4.74
Ryumka
0 / 0 / 0
Регистрация: 29.05.2007
Сообщений: 3
#1

bin-файлы: открытие, чтение, обработка - C++

29.05.2007, 16:41. Просмотров 49658. Ответов 6
Метки нет (Все метки)

Здравствуйте, подскажите, пожалуйста, команды, с помощью которых файлы с расширением bin можно не только открыть, но и увидеть, что в них находится, чтобы затем обработать их. Во всех книжках я нашла примерно следующее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fstream>
#include <iostram>
 
int main()
{
   char dt;
   std::fstream iofile("filename.bin", std::ios::in | std::ios::out |  std::ios::binary);
     if (!iofile.fail())
     { 
          while (!iofile.eof())
              {
                iofile.read(&dt, sizeof dt);
                std::cout<<dt;
              } 
        }
   return 0;
}
Мне не нужен тип char, но read работает только с этим типом. Помогите прочитать файл в том виде, в каком он есть, чтобы начать его обрабатывать!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ensase
Флудер
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
04.06.2007, 09:42     bin-файлы: открытие, чтение, обработка #2
bin-файл это файл где гранятся данные и ничего лишнего, - я часто использую такие файлы, но для этого нужно знать внутреннюю структуру этих файлов. Например:
создаю структуру wall(стена) в этой структуре много разнотипных полей, записываю бинарно в файл (fread - fwrite или на С++ потоках - повкусу), затем когда надо открываю и бинарно считываю зная лишьразмер структуры в байтах sizeof и имея определенную например typedef'ом структуру! И дело не в типе char а в том что в бинарник идет побайтовая запись! Буффер любого размера и стр-ры
Ryumka
0 / 0 / 0
Регистрация: 29.05.2007
Сообщений: 3
04.06.2007, 13:38  [ТС]     bin-файлы: открытие, чтение, обработка #3
А какую команду ты используешь для побайтового считывания? При компиляции программы я вижу только пустой экран вместо данных, что не может не огорчать.
Ensase
Флудер
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
04.06.2007, 13:54     bin-файлы: открытие, чтение, обработка #4
я использую

size_t fread(void* buffer, size_t size, size_t count, FILE* f)
функция считывает count элементов по size байтов в область заданную указателем buffer, из потока f. (stdio.h)

То есть buffer может указывать на переменую или стр-ру любого размера - лишь бы поместилось то что считываешь!
Но когда часто обращаешься к binary-файлу лучше переопределить собственные более удобные ф-ции ориентированные на конкретные задачи(например мне приходилось считывать игровую карту из бинарника)
Ryumka
0 / 0 / 0
Регистрация: 29.05.2007
Сообщений: 3
05.06.2007, 22:13  [ТС]     bin-файлы: открытие, чтение, обработка #5
Спасибо!
semjon
Сообщений: n/a
11.01.2009, 10:48     bin-файлы: открытие, чтение, обработка #6
Всем привет кто нибудь может объяснить что это за файлы bin и где они находятся
и для чего, а то читал ваш форум и нечего не понил! Заранее Благодарю!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2009, 12:30     bin-файлы: открытие, чтение, обработка
Еще ссылки по теме:

C++ Чтение числа из потока и обработка ошибок
C++ Чтение слов из файла и их обработка
C++ Запись/чтение из бинарного файла (.bin)
Создание/открытие файлов, чтение из файла и запись в файл через наследование C++
C++ Чтение списка файлов из директории, их открытие и обработка

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

Или воспользуйтесь поиском по форуму:
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
02.10.2009, 12:30     bin-файлы: открытие, чтение, обработка #7
2semjon:
http://ru.wikipedia.org/wiki/Бинарные_файлы
Yandex
Объявления
02.10.2009, 12:30     bin-файлы: открытие, чтение, обработка
Ответ Создать тему
Опции темы

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