Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Бинарный файл...


Автор: Олечка85 19.6.2006, 21:38
Привет всем! smile 
Не подскажете, как в бинарном файле можно считать первые несколько байтов, чтобы сравнить их с "магическими числами" - так Линукс файлы "шифрует" smile
Бинарные файлы форматов, например, .jpg, .clacc  и т.д.
Никак не получается...  smile  

Автор: bsa 19.6.2006, 23:06
Код
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
....

int f  = open( "filename.jpg", O_RDONLY );
if ( f >= 0 ) {
   read(f, buffer, size);
   close(f);
}
...

здесь buffer - указатель на предварительно выделенную область памяти, куда надо прочитать "магические числа", size - размер "магических чисел" в байтах. Естественно, памяти под буфер должно быть выделено не менее, чем size. 

Автор: Олечка85 20.6.2006, 22:55
Спасибо огромное! Работает!  smile 
Правда, "магическое число" в немножко перепутанном виде читается, но, это, наверное, так надо?
В смысле, надо как-то его ещё "перевернуть"...  smile 

В общем  smile  , Спасибо большое за помощь!  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)