在Linux下,用C语言实现列出指定目录下的所有文件和文件夹:
#include <stdio.h>
#include <dirent.h>
#include <stdlib.h>
int main()
{
DIR *dirp;
struct dirent *direntp;
dirp = opendir("/home/zcm/program/eclipse");
if(dirp != NULL)
{
while(1)
{
direntp = readdir(dirp);
if(direntp == NULL)
break;
else if(direntp->d_name[0] != '.')
printf("%s\n", direntp->d_name);
}
closedir(dirp);
return EXIT_SUCCESS;
}
return EXIT_FAILURE;
}
在上面的代码中,对以“.”开头的目录或文件名作了过滤,这样是为了不输出目录"."和".."以及“隐藏文件”。