open() cross-platform 在 C 中吗?

Is open() cross-platform in C?

标题,基本上。 open() 是跨平台的吗?我个人更喜欢将标志与 | 组合在一起,而不是字符串,所以我可以只使用 open() 吗?它可以在任何地方使用 fopen() 吗?

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

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

返回的 FD