现在的位置: 首页 > 综合 > 正文

Linux中用st_mode判断文件类型

2019年04月24日 ⁄ 综合 ⁄ 共 1905字 ⁄ 字号 评论关闭

在Linux中,可以利用stat()函数来获取一个文件的状态

这个函数执行成功返回0,失败返回-1。取得的文件状态存放在buf指针指向的struct stat结构提中, struct stat的定义如下: 

其中, st_mode这个变量用来判断文件类型。

st_mode是用特征位来表示文件类型的,特征位的定义如下:

判断文件类型时,用对文件的st_mode的值与上面给出的值相与,再比较。比如:

运行结果:

It's a directory.

其实还有一个简单的方法,文件类型在POSIX中定义了检查这些类型的宏定义:

可以根据这些函数的返回值判断,如果是,则返回1。(我试了一下,好像是这样的)

抱歉!评论已关闭.