为什么mkdir()和rmdir()在POSIX系统调用中需要不同的头文件来声明?

2026-04-16 18:563阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计244个文字,预计阅读时间需要1分钟。

为什么mkdir()和rmdir()在POSIX系统调用中需要不同的头文件来声明?

plaintextmkdir()位于sys/stat.h中,而rmdir()位于unistd.h中。将它们放在同一个头文件中不会增加意义,因为:

原因:使用mkdir(2)在第二个参数中指定权限:int mkdir(const char *pathname, mode_t mode);这些模式标志和rmdir没有直接关系。

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在那里是未知的.

为什么mkdir()和rmdir()在POSIX系统调用中需要不同的头文件来声明?

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

本文共计244个文字,预计阅读时间需要1分钟。

为什么mkdir()和rmdir()在POSIX系统调用中需要不同的头文件来声明?

plaintextmkdir()位于sys/stat.h中,而rmdir()位于unistd.h中。将它们放在同一个头文件中不会增加意义,因为:

原因:使用mkdir(2)在第二个参数中指定权限:int mkdir(const char *pathname, mode_t mode);这些模式标志和rmdir没有直接关系。

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在那里是未知的.

为什么mkdir()和rmdir()在POSIX系统调用中需要不同的头文件来声明?

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