加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么mkdir()和rmdir()POSIX系统调用不同的头文件?

发布时间:2020-12-16 09:22:01 所属栏目:百科 来源:网络整理
导读:mkdir()位于 sys / stat.h中而rmdir()在 unistd.h中.将它们放在同一个头文件中会不会更有意义? 解决方法 原因是,使用mkdir(2)在第二个参数中指定权限: int mkdir(const char *pathname,mode_t mode); 这些模式标志和类型mode_t在sys / stat.h中定义(至少间
mkdir()位于< sys / stat.h>中而rmdir()在< unistd.h>中.将它们放在同一个头文件中会不会更有意义?

解决方法

原因是,使用mkdir(2)在第二个参数中指定权限:

int mkdir(const char *pathname,mode_t mode);

这些模式标志和类型mode_t在sys / stat.h中定义(至少间接地通过在我的系统中包含bits / stat.h和bits / types.h),因此在那里定义mkdir()似乎也是合适的. .否则,包括unistd.h会导致错误,因为类型mode_t在那里是未知的.

相反,rmdir(2)除了文件名之外不接受任何参数,因此它可以保留在unistd.h中,因为没有其他依赖项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读