这是一些简单的代码:
DIR* pd = opendir(xxxx);
struct dirent *cur;
while (cur = readdir(pd)) puts(cur->d_name);
我得到的有点混乱:包括点(.
), 点对点 (..
) 和以以下结尾的文件名~
.
我想做与命令完全相同的事情ls
。请问我该如何解决这个问题?
这个是正常的。如果你这样做ls -a
(显示所有文件,ls -A
将显示除以下文件外的所有文件.
and ..
),您将看到相同的输出。
.
是一个引用其所在目录的链接:foo/bar/.
是同一件事foo/bar
.
..
是一个引用其所在目录的父目录的链接:foo/bar/..
是一样的foo
.
以以下开头的任何其他文件.
是隐藏文件(按照惯例,它并不是由任何东西真正强制执行的;这与 Windows 不同,Windows 中有一个真正的、官方的隐藏属性)。以以下结尾的文件~
可能是由您的文本编辑器创建的备份文件(同样,这是约定,这些确实could可以是任何东西)。
如果您不想显示这些类型的文件,则必须显式检查它们并忽略它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)