#c #filesystems #fat
Вопрос:
Я пытаюсь определить количество жиров, которые могут быть в моей файловой системе FAT. Для этого я читаю в качестве ссылки документацию, найденную здесь.
Говорят, что количество жиров указано в 16-м байте двоичного файла. Но он имеет длину 1 байт. Из моих знаний я знаю, что целые числа имеют длину не менее 4 байт.
Как я могу прочитать количество жиров в моем двоичном файле?
Я все равно пытался прочитать его, но безуспешно:
void test(int file_descriptor) {
int nFats;
lseek(file_descriptor, 16, SEEK_SET);
read(file_descriptor, amp;nFats, 1);
printf("Number of FATs: %dn", nFats);
}
Комментарии:
1. Ну, один байт без знака даст вам число от 0 до 255. Я думаю, этого достаточно для количества жиров. Воспользуйся
uint8_t
.2. Подсказка:
unsigned char
является целочисленным типом.3. Взгляните на
stdint.h
4. Возможно, вам захочется определить (упакованную) структуру загрузочного сектора для доступа к такой информации. Это поможет вам также в любой другой работе с файловой системой.