gpt4 book ai didi

c - 如何在 C 库中使用 opendir 和 readdir 忽略隐藏文件

转载 作者:太空狗 更新时间:2023-10-29 17:27:20 25 4
gpt4 key购买 nike

下面是一些简单的代码:

DIR* pd = opendir(xxxx);
struct dirent *cur;
while (cur = readdir(pd)) puts(cur->d_name);

我得到的有点乱:包括点 ( . )、点-点 ( .. ) 和以 ~ 结尾的文件名.

我想做与命令 ls 完全相同的事情.请问我该如何解决这个问题?

最佳答案

这是正常的。如果您执行 ls -a(显示所有文件,ls -A 将显示除 ...< 之外的所有文件),你会看到相同的输出。

. 是指向其所在目录的链接:foo/bar/.foo/bar 相同。

.. 是指向其所在目录的父目录的链接:foo/bar/..foo.

任何其他以 . 开头的文件都是隐藏文件(按照惯例,它并没有真正被任何东西强制执行;这与 Windows 不同,Windows 有一个真正的、官方的隐藏属性)。以 ~ 结尾的文件可能是由您的文本编辑器创建的备份文件(同样,这是惯例,这些实际上可以是任何东西)。

如果您不想显示这些类型的文件,则必须明确检查并忽略它们。

关于c - 如何在 C 库中使用 opendir 和 readdir 忽略隐藏文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/845556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com