Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2016, 14:36   #1
Артем_888888
Новичок
Джуниор
 
Регистрация: 09.03.2016
Сообщений: 2
По умолчанию Заголовки файлов

Здраствуйте. Возникла проблема при работе с двоичным файлом. Пытаюсь считать значение с определенного байта в заголовке файла. Например :дано у файла в загловке на 608-611 байте находиться длинна записи, в двоичном формате. я пытаюсь считать этот заголовок в С++, с помощью
bitset <32>Len;
ifstream fin("namefile",ios_base::binary);
fin.seekg(608);
fin.read ((char*)&Len,4);
cout<<Len.to_ulong;

в резулбтате выдается какое то число. мало соответсвующее действительности. Хотелось бы узнать, как лучше работать с заголовками файлов (заголовок очень длинный), правильно ли я работаю??и в самом заголовке смешаны двоичные числа. двоично-десятичные числа, и ASCII, в дальнейшем хотелось бы считывать данные и иметь возможность их исправлять. Может кто что нибудь подскажет?
Артем_888888 вне форума Ответить с цитированием
Старый 09.03.2016, 14:50   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Вообще-то битсет это класс, а вы прям так по указателю пишете в него... Почему бы длину не прочитать в uint32_t?

А вообще завели бы вы структуру под заголовок.
p51x вне форума Ответить с цитированием
Старый 09.03.2016, 15:12   #3
Артем_888888
Новичок
Джуниор
 
Регистрация: 09.03.2016
Сообщений: 2
По умолчанию

На счет стркутуры, да думал об этом, но в данном случае хочу научиться считывать в одну переменную для начала, а на счет bitset, чем плох этот способ?(ну или почему он не работает)я прочто думал при считывании двоично-десятичных чисел его применить, дргого способа разделить байт на 4 бита не пришло в голову
Артем_888888 вне форума Ответить с цитированием
Старый 09.03.2016, 15:33   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Либо читайте потоком (у битсета есть переопределенные методы), либо читайте uint32_t и вызывайте соответствующий конструктор.

А вообще просто непонятна причина хранить размер чего-то битово...
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
классы+заголовки в c++ narco3 Помощь студентам 1 13.03.2013 22:52
TWebBrowser и заголовки WennY Компоненты Delphi 0 15.11.2012 13:01
Проставить заголовки по куче файлов Mangost Microsoft Office Word 4 20.07.2011 09:27
заголовки и подпрограммы kuzmich Общие вопросы Delphi 3 14.12.2010 18:25
THTTPReqResp и заголовки talero Работа с сетью в Delphi 0 16.12.2009 03:33