如何在C中访问目录文件?

如何在C中访问目录文件?,c,file-io,directory,C,File Io,Directory,我正在尝试将当前目录中的所有文件添加到已实现的存档中。我可以使用什么功能访问所有这些文件?在网上和手册页上做了一些研究之后,我发现只有简单的I/O,比如读、写、关闭等等;在Windows中,有关FindFirstFile(),请参见。然后一个文件一个文件地循环,做你想做的事。这个网页似乎有你想要的 你可以试试这个。 main() { DIR *d; struct dirent *e; e=malloc(sizeof(struct dirent)); d=opendir(

我正在尝试将当前目录中的所有文件添加到已实现的存档中。我可以使用什么功能访问所有这些文件?在网上和手册页上做了一些研究之后,我发现只有简单的I/O,比如读、写、关闭等等;在Windows中,有关FindFirstFile(),请参见。然后一个文件一个文件地循环,做你想做的事。

这个网页似乎有你想要的


你可以试试这个。

main() {
   DIR *d;
   struct dirent *e;

   e=malloc(sizeof(struct dirent));
   d=opendir("<your_directory_name>");

   while ((e = readdir(d)) != NULL) {
      printf("%d %s\n", e->d_type, e->d_name);
   }

   closedir(d);
}
main(){
DIR*d;
结构方向*e;
e=malloc(sizeof(struct dirent));
d=opendir(“”);
而((e=readdir(d))!=NULL){
printf(“%d%s\n”,e->d\u类型,e->d\u名称);
}
closedir(d);
}

不要调用
malloc()
,这是一个泄漏——结果被覆盖。随后将是一个免费调用。其目的是演示readdir()调用…..这不会解决任何问题,因为此时
e==NULL
。调用
malloc()
是错误的。