<分区>
我在 Linux 中使用 C posix 处理符号链接(symbolic link)。
我检测到一个文件,我必须区分常规文件和符号链接(symbolic link)。
现在我做下一个:
if(S_ISREG(direct_info.st_mode)) {
// deal with regular file
}
else if(S_ISLNK(direct_info.st_mode)) {
// deal with symbolic link
}
问题是当文件是符号链接(symbolic link)时,执行流程在第一个 if 处输入。也就是说,当是一个符号链接(symbolic link)时,也进入了S_ISREG
条件。那么,我该怎么做才能区分两者呢?