计算具体文件类型的 bit 这里问题

这里的 mode 和 S_IFMT 分别是是?
是如何进入到每一个 case 里面的?
正在回答 回答被采纳积分+1
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 人
- 提交作业 23775 份
- 解答问题 1206 个
行业热门,政策风口,人才缺口极大,现在入场时机正好! 上千人检验,数轮迭代的硬核知识体系,软硬件通吃 保姆式教学+简历指导+1V1模拟面试+3次内推,助力轻松就业!
了解课程
我打印了按位与的结果 以 S_IDDIR 位列 这里的结果是16384
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星