S_ISREG等几个常见的宏 struct stat

摘要:
此时,fp.st_Mode是文件FileName的模式,因此S_ISDIR的功能是确定fp指向的文件是否为目录类型。

引用链接:1)http://zxxruestc.blog.163.com/blog/static/192688339201392672833438/?COLLCC=2478491127&

              2)http://blog.csdn.net/dssxk/article/details/6793370

一般在之前都会先调用函数stat( FileName, &fp),意味着将FileName这个文件的信息保存到了地址fp中。此时fp.st_mode就是文件FileName的模式,所以S_ISDIR(fp.st_mode)的函数功能是判断fp所指向文件(也就是FileName)是否为目录(dir)类型。

功能是判断一个路径是否为目录。

S_ISLNK(st_mode): 是否是一个连接.
S_ISREG:是否是一个常规文件.
S_ISDIR:是否是一个目录S_ISCHR是否是一个字符设 备.
S_ISBLK:是否是一个块设备
S_ISFIFO: 是否是一个FIFO文件.
S_ISSOCK: 是否是一个SOCKET文件 

man 2 stat 可以查到stat数据结构,其中的st_mode就是上面几个宏的输入参数

 1 struct stat {
 2   dev_t st_dev;
 3   ino_t st_ino;
 4   mode_t st_mode;
 5   nlink_t st_nlink;
 6   uid_t st_uid;
 7   gid_t st_gid;
 8   dev_t st_rdev;
 9   off_t st_size;
10   blksize_t st_blksize;
11   blkcnt_t st_blocks;
12   time_t st_mtime;
13   time_t st_ctime;
14 };

man 2 stat还可以查到下面的函数定义,用这个函数来获取指定文件(夹)的stat信息,然后带入上面的宏,判断文件(夹)的属性:是否是个常规文件、是否是一个目录……

int stat(const char *path, struct stat *buf)

免责声明:文章转载自《S_ISREG等几个常见的宏 struct stat》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇17.U-boot的工作流程分析-6410halcon案例学习之cbm_label_simple下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

R绘图 第七篇:绘制条形图(ggplot2)

使用geom_bar()函数绘制条形图,条形图的高度通常表示两种情况之一:每组中的数据的个数,或数据框中列的值,高度表示的含义是由geom_bar()函数的参数stat决定的,stat在geom_bar()函数中有两个有效值:count和identity。默认情况下,stat="count",这意味着每个条的高度等于每组中的数据的个数,并且,它与映射到y的...

Linux平台Cpu使用率的计算

proc文件系统 /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统内核读出所需信息并提交的。 /pr...

Linux中通过/proc/stat等文件计算Cpu使用率

Linux平台Cpu使用率的计算 proc文件系统 /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统...

Linux中断信号的查看

中断号的查看可以使用下面的命令:“cat /proc/interrupts”。 中断号的查看也可以使用下面的命令:“cat /proc/stat” 记录了几个关于系统活动的低级统计量, 包括(但是不限于)自系统启动以来收到的中断数. stat 的每一行以一个文本字串开始, 是该行的关键词; intr 标志是我们在找的irq函数定义:/kernel/irq/...

zabbix监控memcached服务

             zabbix监控memcached服务                                      作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.安装并配置memcached服务 1>.使用yum方式安装memcached [root@node201.yinzhengjie.org.c...

06_zookeeper原生Java API使用

【Zookeeper构造方法概述】 /** * 客户端和zk服务端的连接是一个异步的过程 * 当连接成功后,客户端会收到一个watch通知 * * ZooKeeper(String connectString, int sessionTimeout, Watcher watcher, *...