如何从目录列表中排除`.`和`..`

时间:2014-09-18 00:53:57

标签: c directory

我正在阅读当前目录并使用

将其打印出来
printf("%s\n", file->d_name);

但它也打印出“。”和“..”文件。我该如何排除它们?

2 个答案:

答案 0 :(得分:2)

简单方法:在显示文件名之前,请确保文件名不是"."".."。 :P

if (strcmp(file->d_name, ".") && strcmp(file->d_name, "..")) {
    printf("%s\n", file->d_name);
}

答案 1 :(得分:1)

只需使用strcmp进行检查。

例如:

if(strcmp(file->name,"..")==0)

然后不要打印文件名。