该dirent结构可能会告诉您该条目是目录还是符号链接,但某些文件系统不提供此信息d_type并将其设置为DT_UNKNOWN.
无论如何,判断符号链接是否指向目录的最简单方法是通过系统stat调用来解析符号链接,如果成功,将填充stat结构,从而为S_ISDIR您提供信息:
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int is_directory(const char *path) {
struct stat st;
return !stat(path, &st) && S_ISDIR(st.st_mode);
}
Run Code Online (Sandbox Code Playgroud)
请注意以下注意事项:
is_directory()。