// 进入指定目录 void display_dir(char filename[]) /* 进入指定的目录 / { int i, k; for(i = 0; i < 64; i++) { k = c[i].i_num; / 获取文件的i节点号 / if((strcmp(filename, c[i].file_name) == 0) && (i_node[k].file_style == 0)) { / 判断文件类型是不是目录类型 / strcpy(cur_dir, filename); / 将要进入的指定目录设置为当前目录 / break; } } if(i == 64) { printf('没有这个目录\n'); / 没有找到指定的目录 */ } }

// 打开文件 void open_file(char filename[]) /* 打开文件 / { int i, j, k; printf('\t\t文件名字 文件类型 文件长度 所属目录\n'); for(i = 0; i < 64; i++) { k = c[i].i_num; / 获取文件的i节点号 / if(strcmp(filename, c[i].file_name) == 0 && (i_node[k].file_style == 1)) { / 判断文件类型是不是普通文件 / printf('\t\t %s\t', c[i].file_name); / 文件名 / printf('\t%d\t', i_node[k].file_style); / 文件的类型 / printf('%d\t', i_node[k].file_length); / 文件的长度 / printf('%s\n', c[i].dir_name); / 文件所在的目录 / printf('\t\t文件占用的物理地址\n'); for(j = 0; j < i_node[k].file_length; j++) { / 显示物理地址 / printf('%d ', i_node[k].file_address[j]); / 文件具体占用的盘块号 */ } printf('\n'); break; } }

if(i == 64) {
    printf('没有这个文件或者这个文件不是正规文件\n');  /* 没有找到指定的文件或者该文件不是普通文件 */
}

}

C语言文件系统:实现目录切换与文件打开功能

原文地址: https://www.cveoy.top/t/topic/f1EU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录