35、C语言常用库函数-目录函数类

目录函数(原型声明所在头文件为dir.hdos.h 

int chdir(char*path) 使指定的目录path(如:"C:\\WPS")变成当前的工作目录,成 

功返回0 

int findfirst(char*pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功返回0 

pathname为指定的目录名和文件名,如"C:\\WPS\\TXT" ,ffblk为指定的保存文件信息的一个结构,定义如下: 

┏━━━━━━━━━━━━━━━━━━┓ 

┃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 ff; 

findfirst("*.wps",&ff,FA_RDONLY);

intfindnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0 

void fumerge(char *path,char*drive,char *dir,char *name,char *ext) 此函数通过盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等), 文件名name(TC、WPS等),扩展名ext(.EXE、.COM等)组成一个文件名 存与path中. 

int fnsplit(char*path,char *drive,char *dir,char *name,char *ext) 

此函数将文件名path分解成盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等), 文件名name(TC、WPS等),扩展名ext(.EXE、.COM等),并分别存入相应的变量中. 

int getcurdir(intdrive,char *direc) 此函数返回指定驱动器的当前工作目录名称 

drive 指定的驱动器(0=当前,1=A,2=B,3=C等) 

direc 保存指定驱动器当前工作路径的变量 成功返回0 

char *getcwd(char*buf,iint n) 此函数取当前工作目录并存入buf中,直到n个字 

节长为为止.错误返回NULL 

int getdisk() 取当前正在使用的驱动器,返回一个整数(0=A,1=B,2=C等) 

int setdisk(int drive) 设置要使用的驱动器drive(0=A,1=B,2=C等), 返回可使用驱动器总数 

int mkdir(char*pathname) 建立一个新的目录pathname,成功返回0 

int rmdir(char*pathname) 删除一个目录pathname,成功返回0 

char *mktemp(char*template) 构造一个当前目录上没有的文件名并存于template中 

char*searchpath(char *pathname) 利用MSDOS找出文件filename所在路径, 此函数使用DOS的PATH变量,未找到文件返回NULL 

发布了278 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/hopegrace/article/details/104510518