S_IFCHR:文件是一个特殊的字符设备 S_IFIFO:文件是一个FIFO设备 S_IFREG:文件是一个普通文件(REG即使regular啦) S_IFLNK:文件是一个符号链接 其他模式标志包括: S_ISUID:文件设置了SUID位 S_ISGID:文件设置了SGID位 S_ISVTX:文件设置了sticky位 用于解释st_mode标志的掩码包括: S_IFMT:文件类型 S_IRWXU...
e.g.st_mode & S_IFMT可以得到文件类型 如果看文件是否有哪个权限,st_mode&掩码&权限的掩码,然后看是否大于0 e.g.st_mode & S_IRWXU & S_IRUSR可以看文件所有者是否有读权限 文件类型(12-15 bit) 掩码:S_IFMT0170000 过滤 st_mode中除文件类型以外的信息 S_IFSOCK0140000 套接字 S_IFLNK0120000 ...
for example:printf("File type: ");switch (sb.st_mode & S_IFMT) { case S_IFBLK: printf("block device\n"); break;case S_IFCHR: printf("character device\n"); break;case S_IFDIR: printf("directory\n"); break;case S_IFIFO: printf("FIFO/pipe\n"); ...
myt = localtime(&buf.st_mtime);//获取时间 switch(buf.st_mode & S_IFMT)//判断文件类型 { case S_IFSOCK:printf("s ");break;//套接字 case S_IFLNK: printf("l ");break;//链接 case S_IFREG: printf("- ");break;//普通文件 case S_IFBLK: printf("b ");break;//块设备文件 cas...
S_IFIFO:实体是一个IFIFO(命令管道) S_IFREG:实体是一个常规文件 S_IFLNK:实体是一个符号链接 其他的一些模式标记如下: S_ISUID:实体在执行权限上设置了UID S_ISGID:实体在执行权限上设置了GID 用来解释st_mode的屏蔽(mask)如下: S_IFMT:文件类型 ...
if (( statbuf.st_mode & S_IFMT ) == S_IFREG ) printf (" regular file\n"); 可以简写为: if ( S_ISREG ( statbuf.st_mode )) ... 错误代码 ENOENT 参数file_name 指定的文件不存在 ENOTDIR 路径中的目录存在但却非真正的目录 ELOOP 欲打开的文件有过多符号连接问题, 上限为16 符号连接 EFAU...
switch (mode & S_IFMT)//确定第一位文件类型 { case S_IFSOCK: perm[0] = 's'; break; case S_IFLNK: perm[0] = 'l'; break; case S_IFREG: perm[0] = '-'; break; case S_IFBLK: perm[0] = 'b'; break; case S_IFDIR: ...
S_IFREG:文件是一个普通文件(REG即使regular啦) S_IFLNK:文件是一个符号链接 其他模式标志包括: S_ISUID:文件设置了SUID位 S_ISGID:文件设置了SGID位 S_ISVTX:文件设置了sticky位 用于解释st_mode标志的掩码包括: S_IFMT:文件类型 S_IRWXU:属主的读/写/执行权限,可以分成S_IXUSR, S_IRUSR, S_IWUSR ...
= -1) // Check the return value of stat { if( S_ISREG( sb.st_mode ) != 0 ) { printf( "%s is a file", file_path ) ; } else { printf( "%s is not a file", file_path ) ; } } st_mode 成员包含被 S_IFMT (0170000) 屏蔽的 4 位。这些位的值是: S_IFSOCK 0140000 ...
file_type = info.st_mode & S_IFMT; return file_type; } /*get file type*/ int get_modify_time( char *filename ){ struct stat info; stat( filename,&info ); int modify_time = 0; modify_time = info.st_mtime; return modify_time; ...