- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
下面是一些简单的代码:
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/
DIR *dir_ptr; struct dirent *dir_entery; dir_ptr = opendir("/tmp"); while (dir_ptr&&(dir_entery = re
我惊讶地发现手册页中包含 readdir 的两个冲突变体的条目。 在 READDIR(2) 中,它特别指出你不想使用它: This is not the function you are intere
我在 Julia 1.7 的 readdir 上使用 isdir 过滤器时遇到了一些问题。运行以下命令: println(readdir("data/")) println(isdir("data/S
我有一个当前正在使用 while 循环处理的目录。文件名实际上是这样的日期: updates.20130831.1445.hr updates.20140831.1445.hr updates.201
int indent = 0; int listDir(const char* dirname){ DIR* dir; struct dirent* d; if(!(dir =
我使用以下代码循环遍历目录以打印出文件的名称。但是,并未显示所有文件。我尝试过使用 clearstatcache 但没有效果。 $str = ''; $ignore = array('
我使用以下代码循环遍历目录以打印出文件的名称。但是,并未显示所有文件。我尝试过使用 clearstatcache 但没有效果。 $str = ''; $ignore = array('
到目前为止,我知道在 Perl 中打开和读取目录的两种方法。您可以使用 opendir、readdir 和 closedir 或者您可以简单地使用 glob 来获取目录的内容。 示例: 使用 op
我正在编写一个点文件存储库管理器,但删除存储库的命令不起作用。它转到存储库文件夹,然后它必须列出所有文件和目录,以便我能够删除它们。问题是,它列出了我需要删除的每个文件或目录,但它排除了非空的 .gi
使用server and client代码。我尝试添加通过 readdir() 实现的 ls 功能 我的 *connection_handler 看起来像这样: void *connection_ha
我有一个使用 readdir() 的函数。我使用 stat() 来获取有关我作为参数提供的目录中的文件的信息。 folder_name[] is actually the absolute path
这个问题已经有答案了: Crash or "segmentation fault" when data is copied/scanned/read to an uninitialized point
嗨,我正在尝试编写一个使用 readdir 的程序,但我读取的条目未按排序顺序。我还应该寻找什么。 最佳答案 尝试scandir,它可以一次读取整个目录并为您对名称进行排序。 关于c - readdi
在 main 中,我使用 deletefolder() 调用以下函数: void deletefolder(){ struct dirent *next_file; DIR *folder
我有一段相当简单的代码来获取 C++ 目录中的文件列表。令人费解的是,目录中的 135 个文件中只有 68 个最终存储在 vector 文件名中。发生了什么事? DIR* pDIR = opendir
我正在尝试读取和处理目录中的所有文件。 如果只使用 readdir() 并计算目录中的文件数,一切都很好。但是,如果我复制文件名 strcpy() 并传递给不同的函数,readdir() 会在读取 4
所以我循环调用 readdir() 函数并将生成的文件名添加到链表中的新节点。通过设置 file_list = add_file_node() 解决问题后,我遇到了 dir_list 循环在访问目录时
我写了一个简单的图片库脚本女巫检查文件夹并显示文件夹中的所有图像我有代码删除 .和 .. 但它不起作用,我不明白为什么任何帮助都会很棒,因为我是 PHP 中 dir 函数的新手。我在链接周围有灯箱标签
这个问题在这里已经有了答案: List regular files only (without directory) problem (2 个答案) 关闭 10 年前。 我的目标是计算目录中的文件数
这是我希望打印的 Perl 脚本 found执行时: #!/usr/bin/perl use warnings; use strict; use utf8; use Encode; use const
我是一名优秀的程序员,十分优秀!