爱问知识人 爱问教育 医院库

c语言目录操作

首页

c语言目录操作

在C/C++语言中如何进行目录操作,如得到目录内的文件列表、文件夹大小等。

提交回答
好评回答
  • 2006-12-15 10:05:59
      这里给你提供一些C的目录操作函数,原型声明所在头文件为dir。h、dos。h,仅供参考:
    int chdir(char *path) 使指定的目录path(如:"C:\\WINDOWS")变成当前的工作目录,成功返回0
    int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功返回0
          pathname为指定的目录名和文件名,如"C:\\WINDOWS\\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("*。
      DOC",&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、\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(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。 。

    心***

    2006-12-15 10:05:59

类似问题

换一换
  • 程序设计 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):