Я пытаюсь создать файловую систему FAT я понимаю, основной принцип того, как его предполагается установить, и я использую на структуру, как это для каждой записи FATПытается создать файловую систему FAT в C++?
struct FATEntry
{
char name[20]; /* Name of file */
uint32_t pos; /* Position of file on disk (sector, block, something else) */
uint32_t size; /* Size in bytes of file */
uint32_t mtime; /* Time of last modification */
};
Я по существу создавая 2 МБ файла для работы в качестве файловой системы. Оттуда я буду писать и читать файлы в блоках по 512 байт каждый. Мой вопрос, как я могу написать структуру в файл? Позволяет ли мне это сделать? Например:
struct FATEntry entry1;
strcpy(entry1.name, "abc");
entry1.pos = 3;
entry1.size = 10;
entry1.mtime = 100;
cout << entry1.name;
file = fopen("filesys", "w");
fwrite(&entry1,sizeof(entry1),1,file);
fclose(file);
Будет ли это хранить структуру в байтах? Как мне читать? У меня возникли проблемы с пониманием того, что я верну, когда буду использовать fread
Спасибо, но что делает fread ((void *) & entry1, sizeof (entry1), 1, file); вернуть? Структуру? Я думаю, это меня пугает. – user2134127
[fread] (http://www.cplusplus.com/reference/cstdio/fread/) возвращает «Общее число элементов, успешно прочитанных». который может быть меньше, чем вы имели в виду. Он будет заполнять «entry1» фактическими данными. – Elazar
О, я понимаю, теперь спасибо! – user2134127