【问题标题】:How do I exclude `.` and `..` from a directory listing如何从目录列表中排除 `.` 和 `..`
【发布时间】:2014-09-18 00:53:57
【问题描述】:

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

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

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

【问题讨论】:

  • 打印带有%d的文件名?祝你好运......
  • 只需使用strcmp 进行检查。 if(strcmp(file->name, "..")==0) 那就不要打印了。

标签: c directory


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    只需使用strcmp 进行检查。

    例如:

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

    然后不要打印文件名。

    【讨论】:

    • @user3023154:欢迎 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 2016-11-15
    • 2011-09-27
    • 2021-11-22
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    相关资源
    最近更新 更多