gpt4 book ai didi

c - lstat 未检测到符号链接(symbolic link)

转载 作者:行者123 更新时间:2023-11-30 15:07:50 25 4
gpt4 key购买 nike

我正在尝试检查文件是否是符号链接(symbolic link),我的测试似乎不起作用。如何检查符号链接(symbolic link)?

if (lstat(file->full_path, &file_info) == 0)
printf((file_info.st_mode & S_IFDIR) ? "l" : "");
else
printf((S_ISDIR(file_info.st_mode)) ? "d" : "-");

最佳答案

如果定义了 S_ISLNK:

S_ISLNK(file_info.st_mode) 

否则

if ((file_info.st_mode & S_IFMT) == S_IFLNK)

所以在你的例子中:

if (lstat(file->full_path, &file_info) == 0)
printf(((file_info.st_mode & S_IFMT) == S_IFLNK) ? "l" : "");
else
printf("Could not get file stat info\n");

请注意,如果 lstat 不返回 0,则 file_info 结构中不会有任何有效信息。

关于c - lstat 未检测到符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37906722/

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