我有一个程序可以打印出特定目录中列出的所有目录,方法是检查d_type == DT_DIR
该程序工作,但也打印出父目录..
和当前目录.
我试图设置一个 if 语句来检查它d_name != ".." or "."
,但它仍然打印父目录和当前目录
这是我添加了 if 语句的代码
directory = opendir("/home/user/adirectory");
if(directory != NULL)
{
while(entry = readdir(directory)) {
if(entry->d_type == DT_DIR && entry->d_name != ".." && entry->d_name != ".")
printf("%s\n", entry->d_name);
}
}
不幸的是,这是输出,其中dir2是adirectory中的一个目录
..
dir2
.
我想要一个只显示没有点或两个点的目录的输出
dir2