计算具体文件类型的 bit 这里问题
这里的 mode 和 S_IFMT 分别是是?
是如何进入到每一个 case 里面的?
12
收起
正在回答 回答被采纳积分+1
1回答
无__名
2024-01-29 11:31:47
mode 值是 struct stat 结构体的 st_mode 成员的值,这个 mode 成员主要包含3个方面的信息
[12:15] bit : 表示文件类型
[9:11] bit : 表示文件访问权限控制
[0:8] bit : 表示文件访问权限
S_IFMT : 文件类型屏蔽字,通过与屏蔽字进行 & 操作来判断[12:15] 哪些位为1 最后得到的值 在与 文件类型的值进行匹配
S_IFMT = 0170000 (文件类型屏蔽字)
S_IFIFO = 0010000 (管道或FIFO)
S_IFCHR = 0020000 (字符特殊文件)
S_IFDIR = 0040000 (目录文件)
S_IFBLK = 0060000 (块特殊文件)
S_IFREG = 0100000 (普通文件)
S_IFLNK = 0120000 (链接文件)
S_IFSOCK = 0140000 (套接字)
st_mode 成员的值是通过stat 函数获取信息之后填进去,在保存到 struct stat 结构体中的
物联网/嵌入式工程师
- 参与学习 394 人
- 提交作业 22954 份
- 解答问题 1164 个
行业热门,政策风口,人才缺口极大,现在入场时机正好! 上千人检验,数轮迭代的硬核知识体系,软硬件通吃 保姆式教学+简历指导+1V1模拟面试+3次内推,助力轻松就业!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星