使用c代码,我想知道给定的文件(如test.c)是否是符号链接。我试过stat()函数。 我正在查看
nlink_t st_nlink; /* number of hard links */
统计结构的成员。
struct stat stbuf;
stat("test.c", &stbuf)
stbuf.st_nlink
在硬链接以及软链接中提供一个。
我做得对吗?或者是否有任何其他方法来检查给定文件是软链接还是硬链接。
答案 0 :(得分:4)
不,您需要使用lstat()
来检测文件是否为软链接。
另外,请确保您了解通常情况下,没有三种不同类型的文件:文件,文件的硬链接以及文件的软链接。相反,只有两个:文件和软链接的硬链接。您可能认为“文件”实际上也是一个硬链接,它通常只是单个链接。