研究了一下午,终于用C语言写出了遍历磁盘上所有文件的代码。采用了是递归遍历算法。
算法描述如下:
while 当前文件夹有文件
{
if 文件是子文件夹
递归调用;
else 处理该文件
}
其中,
fblk为指定的保存文件信息的一个结构,定义如下:
┏━━━━━━━━━━━━━━━━━━┓
┃struct ffblk ┃
┃{ ┃
┃ char ff_reserved[21]; /*DOS保留字*/┃
┃ char ff_attrib; /*文件属性*/ ┃
┃ int ff_ftime; /*文件时间*/ ┃
┃ int ff_fdate; /*文件日期*/ ┃
┃ long ff_fsize; /*文件长度*/ ┃
┃ char ff_name[13]; /*文件名*/ ┃
┃} ┃
┗━━━━━━━━━━━━━━━━━━┛
attrib为文件属性,由以下字符代表
┏━━━━━━━━━┳━━━━━━━━┓
┃FA_RDONLY 只读文件┃FA_LABEL 卷标号┃
┃FA_HIDDEN 隐藏文件┃FA_DIREC 目录 ┃
┃FA_SYSTEM 系统文件┃FA_ARCH 档案 ┃
┗━━━━━━━━━┻━━━━━━━━┛
例:
struct ffblk f;
findfirst("*.TXT",&f,FA_RDONLY); 表示搜寻后缀名是TXT的只读文件.
运行环境:XP
编译器:turboc2.0
#include "stdio.h"
#include "stdlib.h"
#include "dir.h"
C遍历磁盘文件
最新推荐文章于 2023-04-17 23:31:31 发布