MihaNix
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Помогите с чтением из файла в переменную. Используемый язык си. файл такого вида hex: 58 58 3E 80 01 00 .. .. .. и т.д. Первые 2 байта char - указывает, что файл имеет формат тот, что надо. последующие 4 - размер. В моем случае: 98336 байт накидал вот такое, чтобы проверить: Код: #include <stdio.h> struct head { unsigned char a,b; unsigned long size; unsigned short bfReserved1; }; int main() { FILE* f; head hd; if((f = fopen("XX.XX","rb")) == NULL) return -1; fread(&hd,sizeof(hd),1,f); printf("%c%c\n",hd.a,hd.b); printf("%d\n",hd.size); return 0; } | Первые два байта читаются нормально. А вот с последующим не понятно Как будет правильно? И как понимаю - это C++ код. Как на чистом си будет выглядеть? Как поступить, если в файле так же могут встретиться как little-endian, big-endian и middle-endian? те такой как будет, если файл выглядит так (hex): 58 58 3E 80 01 00 .. .. .. и т.д. 58 58 00 01 80 3e .. .. .. и т.д. 58 58 01 00 3e 80 .. .. .. и т.д. | Всего записей: 124 | Зарегистр. 18-06-2010 | Отправлено: 15:24 16-03-2016 | Исправлено: MihaNix, 15:25 16-03-2016 |
|