void enter() { FILE* fp; int i; f = (char*)malloc(MEM_D_SIZE * sizeof(char)); if ((fp = fopen("test.txt", "rb")) == NULL) { printf("无法打开文件\n"); return; } if (!fread(f, MEM_D_SIZE, 1, fp)) { printf("无法打开文件\n"); exit(0); } fat = (struct fatitem*)(f + SIZE); root = (struct direct*)(f + SIZE + FATSIZE); fclose(fp); //初始化用户打开表 for (i = 0; i < MOFN; i++) { strcpy(u_opentable.openitem[i].name, ""); u_opentable.openitem[i].first = -1; u_opentable.openitem[i].size = 0; } u_opentable.cur_size = 0; cur_dir = root; bufferdir = (char*)malloc(DIR_MAXSIZE * sizeof(char)); strcpy(bufferdir, "mengxin:"); }这段代码是什么意思
时间: 2024-04-21 20:29:35 浏览: 120
mem.rar_Free!_malloc_malloc和free_mem_free_mem_malloc
这段代码是一个进入文件系统的函数,它将文件系统中的内容读入内存,并初始化了用户打开表和当前目录。具体来说,它打开了一个名为 "test.txt" 的文件,将文件内容读入到内存的 f 指针指向的区域中,然后通过指针操作得到 FAT 表和根目录的指针,关闭文件。接着,它初始化了用户打开表,将当前目录设置为根目录,并为当前目录的路径名创建了一个缓冲区。
阅读全文