c语言中 dos.h 和 dir.h 的使用方法~~~~~

时间:2022-09-02 19:50:23
老师叫我们模拟dos的功能,我在书上看到的例子都有dos.h和dir.h这两个头文件,请问这两个文件里面的函数使用方法~~~关于文件\文件目录管理的

3 个解决方案

#1


目录函数,所在函数库为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

#2


目录函数,所在函数库为dir.h、dos.h
int chdir(char *path) 使指定的目录path(如:"C:\WPS")变成当前的工作目录,成功返回0
int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成......目录函数,所在函数库为dir.h、dos.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);
int   findnext(struct ffblk *ffblk)      
取匹配finddirst的文件,成功返回0
void  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 保存指定驱动器当前工作路径的变量      成功返回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

#3


能不能再详细点~~~~应该还有很多呀

#1


目录函数,所在函数库为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

#2


目录函数,所在函数库为dir.h、dos.h
int chdir(char *path) 使指定的目录path(如:"C:\WPS")变成当前的工作目录,成功返回0
int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成......目录函数,所在函数库为dir.h、dos.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);
int   findnext(struct ffblk *ffblk)      
取匹配finddirst的文件,成功返回0
void  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 保存指定驱动器当前工作路径的变量      成功返回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

#3


能不能再详细点~~~~应该还有很多呀