首页 > 解决方案 > C 语言中的 open() 是跨平台的吗?

问题描述

标题,基本上。是open()跨平台吗?我个人更喜欢将标志与|字符串结合使用,所以我可以直接使用open()吗?它会在任何地方工作fopen()吗?

标签: cfilecross-platform

解决方案


open()POSIX规范的一部分,因此它可以在任何实现这一点的环境中工作。这包括所有现代风格的 Unix(POSIX 源自 Unix)以及 Windows。因此,您应该能够在您可能遇到的任何还提供托管 C 实现的平台上使用它(所以不是微控制器,但它可能也没有fopen())。

如果您想要一个FILE *可以与所有其他stdio函数(例如fprintf())一起使用的,您可以使用fdopen()它从open().


推荐阅读