Linux下判断是否是一个目录还是一个文件的方法
功能描述:
获取一些文件相关的信息。
用法:
#include
#include
#include
int stat(const char *path, struct stat *buf);
int fstat(int filedes, struct stat *buf);
int lstat(const char *path, struct stat *buf);
参数:
path:文件路径名。
filedes:文件描述词。
buf:是以下结构体的指针
struct stat {
dev_t st_dev;
ino_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
dev_t st_rdev;
off_t st_size;
blksize_t st_blksize;
blkcnt_t st_blocks;
time_t st_atime;
time_t st_mtime;
time_t st_ctime;
};
返回说明:
成功执行时,返回0。失败返回-1,errno被设为以下的某个值
EBADF:文件描述词无效
EFAULT:地址空间不可访问
ELOOP:遍历路径时遇到太多的符号连接
ENAMETOOLONG:文件路径名太长