stat函数讲解_strcat函数

stat函数讲解_strcat函数stat函数讲解表头文件:   #include<sys/stat.h>            #include<unistd.h>定义函数:   intstat(constchar*file_name,structstat*buf);函数说明:  &nbs

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

stat函数讲解

表头文件: #include <sys/stat.h>
#include <unistd.h>
定义函数: 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的路径名称太长

#include <sys/stat.h>的作用

#include <sys/stat.h>

文件状态,
是unix/linux系统定义文件状态所在的伪标准头文件。
含有类型与函数:
dev_t st_dev Device ID of device containing file.
ino_t st_ino File serial number.
mode_t st_mode Mode of file (see below).
nlink_t st_nlink Number of hard links to the file.
uid_t st_uid User ID of file.
gid_t st_gid Group ID of file.
dev_t st_rdev Device ID (if file is character or block special).
off_t st_size For regular files, the file size in bytes.
For symbolic links, the length in bytes of the
pathname contained in the symbolic link.

                               For a shared memory object, the length in bytes.

                               For a typed memory object, the length in bytes.

                               For other file types, the use of this field is
                               unspecified.
          time_t    st_atime   Time of last access.
          time_t    st_mtime   Time of last data modification.
          time_t    st_ctime   Time of last status change.
          int    chmod(const char *, mode_t);

          int    fchmod(int, mode_t);
          int    fstat(int, struct stat *);
          int    lstat(const char *restrict, struct stat *restrict);
          int    mkdir(const char *, mode_t);
          int    mkfifo(const char *, mode_t);
          int    mknod(const char *, mode_t, dev_t);
          int    stat(const char *restrict, struct stat *restrict);
          mode_t umask(mode_t);

使用stat函数最多的可能是ls-l命令,用其可以获得有关一个文件的所有信息。
一般头文件在/usr/include下面,这里是标准C程序头文件,如果你的头文件前加了 <sys/*>,那说明这是系统调用函数头文件,其在/usr/include/sys下面。

函数都是获取文件(普通文件,目录,管道,socket,字符,块()的属性。函数原型#include <sys/stat.h>

int stat(const char *restrict pathname, struct stat *restrict buf);提供文件名字,获取文件对应属性。
int fstat(int filedes, struct stat *buf);通过文件描述符获取文件对应的属性。
int lstat(const char *restrict pathname, struct stat *restrict buf);连接文件描述命,获取文件属性。
文件对应的属性struct stat {

mode_t st_mode; //文件对应的模式,文件,目录等
ino_t st_ino; //inode节点号
dev_t st_dev; //设备号码
dev_t st_rdev; //特殊设备号码
nlink_t st_nlink; //文件的连接数
uid_t st_uid; //文件所有者
gid_t st_gid; //文件所有者对应的组
off_t st_size; //普通文件,对应的文件字节数
time_t st_atime; //文件最后被访问的时间
time_t st_mtime; //文件内容最后被修改的时间
time_t st_ctime; //文件状态改变时间
blksize_t st_blksize; //文件内容对应的块大小
blkcnt_t st_blocks; //伟建内容对应的块数量
};
示例:
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>

int main() {

struct stat buf;
stat(“/etc/hosts”, &buf);
printf(“/etc/hosts file size = %d\n”, buf.st_size);
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171784.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 学校机房如何摆脱老师控制_怎么摆脱学校机房老师的控制

    学校机房如何摆脱老师控制_怎么摆脱学校机房老师的控制先要弄懂原理,其实教师电脑能控制你就是通过网线把他的屏幕同步(发送)到你的屏幕,所以就算你的主机在运行的话也会被控制,不过你的主机里面还是在运行自己的东西,不过屏幕显示的界面是教师端的界面罢了。分为

  • flowable入门

    flowable入门在使用flowable框架的时候,首先需要引入flowable的jar包,flowablemaven仓库地址为:  org.flowable  flowable-engine  6.0.0.RC1新建flowable.cfg.xml文件,如下图所示:flowable.cfg.xml文件内容如下所示:

  • 学生成绩管理系统-C语言(附源码)[通俗易懂]

    学生成绩管理系统-C语言(附源码)[通俗易懂]#include<stdio.h>#include<string.h>#include<stdlib.h>//结构体structscore{ charsnum[9]; charsname[11]; intchinese; intmath; intenglish; intsumcj; intra…

  • Python自动化测试面试题及答案(持续更新中)

    1、自动化代码中,用到了哪些设计模式?单例设计模式工厂模式PO设计模式数据驱动模式面向接口编程设计模式2、什么是断言(Assert)?断言Assert用于在代码中验证实际结果是不是符合预期结果,如果测试用例执行失败会抛出异常并提供断言日志3、什么是web自动化测试Web自动化测试是从UI(用户界面)层面进行的自动化测试测试人员通过编程自动化程序(测试用例脚本)来打开浏览器测试网站的业务逻辑4、什么是seleniumSelenium是一个开源的web自动化测试框架,支持

  • html Window与document区别

    html Window与document区别Window–代表浏览器中一个打开的窗口:对象属性  window//窗口自身  window.self//引用本窗户window=window.self  window.name//为窗口命名  window.defaultStatus//设定窗户状态栏信息  window.location//URL地址,配备布置这个属性可以打开新的页面对象方法  window.alert("t…

  • Android应用开发揭秘11

    Android应用开发揭秘11Android应用开发揭秘11

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号