首页 > 编程知识 正文

struct在c语言中是什么意思,strcmp函数

时间:2023-05-03 10:38:02 阅读:12772 作者:2168

一.概述:

头文件: #包含

#包含

定义函数: 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核心内存不足

名称too long参数file_name的路径名太长

二、结构启动结构体:结构启动{

dev_tst_dev; //文件的设备编号

ino_tst_ino; //节点

模式_ tst _ mode; //文件类型和访问权限

nlink_tst_nlink; //到该文件的硬连接数是刚创建的文件的值为1

uid_tst_uid; //用户ID

gid_tst_gid; //组ID

dev_tst_rdev; //)设备类型)如果此文件是设备文件,则为其设备编号

off_tst_size; //文件字节数(文件大小)

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

unsignedlongst_blocks; //块数

time_tst_atime; //上次访问时间

time_tst_mtime; //上次修改时间

time_tst_ctime; //最后改变时间((指属性) ) ) )。

(;

上述st_mode定义了以下几种情况:

S_IFMT0170000文件类型的位掩码

S_IFSOCK0140000scoket

S_IFLNK0120000符号连接

S_IFREG0100000一般文件

S_IFBLK0060000块设备

S_IFDIR0040000目录

S_IFCHR0020000字符装置

S_IFIFO0010000先进先出

S_ISUID04000文件的(执行中的setuser-id )位

S_ISGID02000文件的(设置组- id on execution )位

S_ISVTX01000文件的sticky位

s_IRusr(s_iread ) 00400文件的所有者具有可读权限

s_iwusr(s_Iwrite ) 00200文件的所有者具有可写权限

s_ixusr(s_Iexec ) 00100文件的所有者具有执行权限

S_IRGRP00040用户组具有可读权限

S_IWGRP00020用户组具有可写权限

S_IXGRP00010用户组具有可执行的权限

S_IROTH00004其他用户具有可读权限

S_IWOTH00002其他用户具有可写权限

S_IXOTH00001其他用户具有可执行的权限

上述文件类型定义了在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吗

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。