当前位置:我的异常网» C语言 » c语言中 dos.h 和 dir.h 的使用方法~解决方法
c语言中 dos.h 和 dir.h 的使用方法~解决方法
www.myexceptions.net 网友分享于:2013-03-24 浏览:27次
c语言中 dos.h 和 dir.h 的使用方法~~~~~
老师叫我们模拟dos的功能,我在书上看到的例子都有dos.h和dir.h这两个头文件,请问这两个文件里面的函数使用方法~~~关于文件\文件目录管理的
------解决方案--------------------
目录函数,所在函数库为dir.h、dos.hint chdir(char *path) 使指定的目录path(如: "C:\WPS ")变成当前的工作目录,成 功返回0int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功......目录函数,所在函数库为dir.h、dos.hint chdir(char *path) 使指定的目录path(如: "C:\WPS ")变成当前的工作目录,成 功返回0int 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);int findnext(struct ffblk *ffblk) 取匹配finddirst的文件,成功返回0void fumerge(char *path,char *drive,char *dir,char *name,char *ext) 此函数通过盘符drive(C:、A:等),路径dir(TC、BCLIB等), 文件名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、BCLIB等), 文件名name(TC、WPS等),扩展名ext(.EXE、.COM等),并分别存入相应的变量中.int getcurdir(int drive,char *direc) 此函数返回指定驱动器的当前工作目录名称 drive 指定的驱动器(0=当前,1=A,2=B,3=C等) direc 保存指定驱动器当前工作路径的变量 成功返回0char *getcwd(char *buf,iint n) 此函数取当前工作目录并存入buf中,直到n个字 节长为为止.错误返回NULLint getdisk() 取当前正在使用的驱动器,返回一个整数(0=A,1=B,2=C等)int setdisk(int drive) 设置要使用的驱动器drive(0=A,1=B,2=C等), 返回可使用驱动器总数int mkdir(char *pathname) 建立一个新的目录pathname,成功返回0int rmdir(char *pathname) 删除一个目录pathname,成功返回0char *mktemp(char *template) 构造一个当前目录上没有的文件名并存于template中char *searchpath(char *pathname) 利用MSDOS找出文件filename所在路径, ,此函数使用DOS的PATH变量,未找到文件返回NULL
文章评论