【发布时间】:2014-11-15 02:06:27
【问题描述】:
我从来不确定我应该传递给fdopen 的打开模式,或者为什么它甚至有一个打开模式。由于fdopen 对文件描述符进行操作,该文件描述符之前可能已通过open 等较低级别的调用打开 - 它已经设置了模式标志。
我的意思是,我假设 fopen 的任何实现只会将 char* 模式字符串转换为较低级别的模式标志类型(在 POSIX 系统上是 OR'd int),然后将其传递给open.
但是如果我们调用fdopen,我们有一个来自先前调用open 的现有文件描述符,为什么我们需要标志?将int 标志转换为char* 标志fdopen 似乎为程序员创造了更多工作。
我是否遗漏了一些我们可能希望open 和fdopen 使用不同 标志的用例?
【问题讨论】:
标签: c