在CentOS系统中,使用

readdir
函数读取目录时,默认情况下不会读取隐藏文件(以点开头的文件)。如果你想要读取隐藏文件,可以通过以下方法实现:

    使用

    opendir
    readdir
    函数遍历目录:

#include#include#include#includeintmain(){DIR*dir;structdirent*entry;dir=opendir(".");//打开当前目录if(dir==NULL){perror("opendir");exit(EXIT_FAILURE);}while((entry=readdir(dir))!=NULL){if(entry->d_name[0]=='.'){//检查文件名是否以点开头printf("%s\n",entry->d_name);}}closedir(dir);return0;}

使用

scandir
函数遍历目录:

#include#include#include#includeintcompare(constvoid*a,constvoid*b){returnstrcmp(*(constchar**)a,*(constchar**)b);}intmain(){structdirent**namelist;intn,i;n=scandir(".",&namelist,NULL,compare);//扫描当前目录if(n<0){perror("scandir");exit(EXIT_FAILURE);}for(i=0;iif(namelist[i]->d_name[0]=='.'){//检查文件名是否以点开头printf("%s\n",namelist[i]->d_name);}free(namelist[i]);}free(namelist);return0;}

这两个示例都会列出当前目录下的所有隐藏文件。你可以根据自己的需求修改代码以适应不同的目录。