你什么时候使用fopen而不是open?

时间:2011-06-30 08:10:11

标签: c file-io fopen

通过测试我没有发现任何差异。

决定这一点的关键是什么?

1 个答案:

答案 0 :(得分:12)

fopen是任何C环境都应提供的便携式界面。此外,其结果是缓冲流(FILE*),可以与方便的stdio函数一起使用。

open是特定于Unix / POSIX的接口。其结果是一个裸(无缓冲)文件描述符,必须与低级系统调用一起使用。它确实允许对I / O进行更细粒度的控制(请参阅POSIX standard中的标志列表),因此有时您可能希望open一个文件,然后可能fdopen它得到stdio和缓冲。