d_name, "..")检查它是否是一个目录/子目录,但这仍然打印出一些不是目录的文-6ren">
gpt4 book ai didi

c - 如何检查文件名是否是 C 中的目录?

转载 作者:太空狗 更新时间:2023-10-29 16:11:46 27 4
gpt4 key购买 nike

我正在使用 if(strstr(dir->d_name, ".") == NULL && strstr(dir->d_name, "..")检查它是否是一个目录/子目录,但这仍然打印出一些不是目录的文件...我使用的是直接结构和 DIR。

最佳答案

strstr 搜索另一个字符串中的子字符串,因此它将返回每个包含单个(好,或双)句点的名称 的匹配项。

您可能打算使用 strcmp:

if (strcmp(dir->d_name, ".") && strcmp(dir->d_name, ".."))
.. not one of the default root folders ..

在此之前或之后,您可以检查它是否是一个文件夹:

if (dir->d_type == DT_DIR)
..

或使用stat。 (请注意,某些文件系统类型可能不支持 d_type。)

关于c - 如何检查文件名是否是 C 中的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30064673/

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