一.概述:

表头文件:    #include

#include

定义函数:    int stat(const char *file_name, struct stat *buf);

函数说明:    通过文件名filename获取文件信息,并保存在buf所指的结构体stat中

返回值:      执行成功则返回0,失败返回-1,错误代码存于errno

错误代码:

ENOENT         参数file_name指定的文件不存在

ENOTDIR        路径中的目录存在但却非真正的目录

ELOOP          欲打开的文件有过多符号连接问题,上限为16符号连接

EFAULT         参数buf为无效指针,指向无法存在的内存空间

EACCESS        存取文件时被拒绝

ENOMEM         核心内存不足

ENAMETOOLONG   参数file_name的路径名称太长

二.struct stat结构体:struct stat {

dev_t         st_dev;       //文件的设备编号

ino_t         st_ino;       //节点

mode_t        st_mode;      //文件的类型和存取的权限

nlink_t       st_nlink;     //连到该文件的硬连接数目,刚建立的文件值为1

uid_t         st_uid;       //用户ID

gid_t         st_gid;       //组ID

dev_t         st_rdev;      //(设备类型)若此文件为设备文件,则为其设备编号

off_t         st_size;      //文件字节数(文件大小)

unsigned long st_blksize;   //块大小(文件系统的I/O 缓冲区大小)

unsigned long st_blocks;    //块数

time_t        st_atime;     //最后一次访问时间

time_t        st_mtime;     //最后一次修改时间

time_t        st_ctime;     //最后一次改变时间(指属性)

};

先前所描述的st_mode 则定义了下列数种情况:

S_IFMT   0170000    文件类型的位遮罩

S_IFSOCK 0140000    scoket

S_IFLNK 0120000     符号连接

S_IFREG 0100000     一般文件

S_IFBLK 0060000     区块装置

S_IFDIR 0040000     目录

S_IFCHR 0020000     字符装置

S_IFIFO 0010000     先进先出

S_ISUID 04000     文件的(set user-id on execution)位

S_ISGID 02000     文件的(set group-id on execution)位

S_ISVTX 01000     文件的sticky位

S_IRUSR(S_IREAD) 00400     文件所有者具可读取权限

S_IWUSR(S_IWRITE)00200     文件所有者具可写入权限

S_IXUSR(S_IEXEC) 00100     文件所有者具可执行权限

S_IRGRP 00040             用户组具可读取权限

S_IWGRP 00020             用户组具可写入权限

S_IXGRP 00010             用户组具可执行权限

S_IROTH 00004             其他用户具可读取权限

S_IWOTH 00002             其他用户具可写入权限

S_IXOTH 00001             其他用户具可执行权限

上述的文件类型在POSIX中定义了检查这些类型的宏定义:

S_ISLNK (st_mode)    判断是否为符号连接

S_ISREG (st_mode)    是否为一般文件

S_ISDIR (st_mode)    是否为目录

S_ISCHR (st_mode)    是否为字符装置文件

S_ISBLK (s3e)        是否为先进先出

S_ISSOCK (st_mode)   是否为socket

c语言stat函数返回值,stat函数相关推荐

  1. 【C 语言】C 项目开发代码规范 ( 形参合法性判断 | 函数返回值局部变量 | 函数中不用全局变量 | 函数中使用局部变量接收形参 | 函数返回值 | 形参作返回值 | 形参返回值处理 )

    文章目录 一.C 项目开发代码规范 一.C 项目开发代码规范 上一篇博客 [C 语言]字符串模型 ( 键值对模型 ) 中 , 完成了字符串的 键值对 查找功能 , 代码不太规范 ; C 项目开发代码规 ...

  2. C++ 笔记(02)— 程序结构(头文件说明、命名空间、函数返回值、函数参数、注释、语句结束符、cin/cout)

    先看以下代码 #include <iostream> #include <string> using namespace std;int main() // main() 是程 ...

  3. Python基础day05【函数(局部变量、全局变量、多函数执行流程、函数返回值、函数参数)、拆包、引用、可变与不可变类型、函数注意事项】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day05[函数(函数传参的两种形式.函数形参).拆包.引用.可变与不可变类型.引 ...

  4. python函数用法详解2(变量的作用域(全局变量、局部变量)、共享全局变量、函数返回值、函数的参数(位置参数、关键字参数、默认参数、不定长参数)、拆包、交换变量值、引用、可变和不可变类型)

    1. 变量作⽤域         变量作⽤域指的是变量⽣效的范围,主要分为两类:局部变量和全局变量. 局部变量         定义在函数体内部的变量,即只在函数体内部⽣效. def testA(): ...

  5. python函数的用法详解(作用、定义、调用、函数参数、函数返回值、函数说明文档、函数嵌套使用)

    1. 函数的作⽤ 函数就是将⼀段具有独⽴功能的代码块整合到⼀个整体并命名,在需要的位置调⽤这个名称即可完成对应的需求. 函数在开发过程中,可以更⾼效的实现代码重⽤. 2. 函数的使⽤步骤 2.1 定义 ...

  6. 函数指针,函数指针数组,函数返回值为函数指针

    函数的名字就是函数的首地址:定义函数指针; int (*p)(int )     p为函数指针变量名字,int 为函数的返回值类型为int型:(int)为函数的形参类型为int型, 注:因为优先级所以 ...

  7. linux中signal函数返回值,signal函数、sigaction函数及信号集操作函数

    信号是与一定的进程相联系的.也就是说一个进程可以决定在进程中对哪些信号进行什 么样的处理.例如一个进程可以忽略某些信号而只处理其他一些信号另外一个进程还可以选择如何处理信号.总之这些总与特定的进程相联 ...

  8. python sort函数返回值_lambda函数与箭头函数在集合内置函数应用中的对照学习

    Python语言中有一个定义轻量级规则的lambda函数,其语法格式为: Lambda 参数列表:返回值表达式 简单的例子如:定义func=lambda x,y:x+y,则调用func(10,20)的 ...

  9. if python 判断函数返回值_Python函数的返回值和作用域

    函数的返回值和作用域 1.返回值 def guess(x): if x > 3: return "> 3" else: return "<= 3&quo ...

最新文章

  1. jquery的html,text,val的区别
  2. Android中使用Intent的Action和Data属性实现点击按钮跳转到拨打电话和发送短信
  3. 软件测试mysql常用语句_测试中常用到的SQL语句(Oracle)
  4. 最优化导论(part1)--求解原问题的对偶问题
  5. java word 转换 图片_怎样把手机上的图片转换成word?
  6. 前端学习(1723):前端系列javascript之uniapp语法下
  7. 【华为云技术分享】Sketch插件技术 — 让研发和设计高效协同
  8. Java代码发送POST请求
  9. SecondaryNameNode的Inconsistent checkpoint fields异常
  10. 用visio制作机柜服务器,ibm visio 服务器机柜图标
  11. 腾讯音乐12月初赴美IPO,250亿美元被低估还是高估?
  12. pack与aligned的区别
  13. 锦江展焕新演绎,憬黎公寓住造理想
  14. JS的正则表达式及详解
  15. 语音处理/语音识别基础(三)- 声音的特征和声音的能量
  16. 关于国家计算机二级C程序设计考点
  17. DELL T7910服务器工作站的双系统安装!
  18. 在虚拟机机上安装ubuntu18.04
  19. The “path“ argument must be of type string. Received undefined
  20. UltraEdit各种wordfile下载

热门文章

  1. 手机搜索公司公布2008年10月份热搜词
  2. 关于又拍云免费cdn全网加速服务的长期评测(各种踩坑)
  3. 测绘人必备的三维地图工具,功能超级实用!
  4. L3-009 长城 (30分):几何数学
  5. 关于计算机的英语笑话,双语笑话 假如生活是一台电脑
  6. ROS环境下串口通信
  7. 数据库中的结果集转换为json
  8. JS实现去除数组中空字符串元素(包括多个空格,undefined,null)
  9. JavaScript 11.08
  10. Java—面向对象程序设计