는 내가이 설정되어 방법의 기본 원리를 이해 FAT 파일 시스템을 만들려고 그리고 난 각 FAT 엔트리C++에서 FAT 파일 시스템을 만들려고합니까?
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 */
};
나는 본질적으로 만드는거야이 같은 구조체를 사용하고 있습니다 2MB 파일이 내 파일 시스템으로 작동합니다. 거기서부터 파일을 512 바이트 단위로 읽고 쓸 것입니다. 내 질문에 어떻게 구조체를 파일에 쓸 수 있습니까? fwrite가이 작업을 수행 할 수 있습니까? 예 :
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