当前位置: 技术问答>linux和unix
如何判断文件还是子目录?
来源: 互联网 发布时间:2016-11-03
本文导语: 使用readdir进行目录遍历后,返回的是dirent结构体, struct dirent { __ulong64_t d_offset; /* real off after this entry */ ino_t d_ino; /* inode number of entry */ ushort_t d_reclen; /* length of this record */ ushort_t d_namlen; /* length of...
使用readdir进行目录遍历后,返回的是dirent结构体,
我想区别哪些是文件,哪些是子目录,难道我需要一个一个opendir去尝试么?
struct dirent {
__ulong64_t d_offset; /* real off after this entry */
ino_t d_ino; /* inode number of entry */
ushort_t d_reclen; /* length of this record */
ushort_t d_namlen; /* length of string in d_name */
char d_name[_D_NAME_MAX+1]; /* name must be no longer than this */
/* redefine w/#define when name decided */
};
我想区别哪些是文件,哪些是子目录,难道我需要一个一个opendir去尝试么?
|
用lstat判断
|
软链接本身就是链接,不是普通文件,也不是目录
S_ISLNK
S_ISLNK