【问题标题】:How to get a FILE* stream from a file descriptor?如何从文件描述符中获取 FILE* 流?
【发布时间】:2010-12-03 18:11:54
【问题描述】:

我们可以使用fileno() 函数从 FILE* 流中获取文件描述符。是否有无需重新打开文件即可从文件描述符获取 FILE* 流的功能?

【问题讨论】:

    标签: c linux file


    【解决方案1】:
       FILE *fdopen(int fd, const char *mode);
    

    fdopen(3),但它应该与fopen(3)在同一页面上:

    fdopen() 函数将流与现有的 文件描述符,fd。流的模式(值之一 "r""r+""w""w+""a""a+") 必须兼容 与文件描述符的模式。文件位置指示器 新流的值设置为属于 fd 的流,错误和 文件结束指示符被清除。模式 "w""w+" 不 导致文件截断。文件描述符不是dup'ed, 当fdopen() 创建的流是 关闭。将fdopen() 应用于共享内存对象的结果 未定义。

    【讨论】:

      猜你喜欢
      • 2010-12-28
      • 2014-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-27
      • 1970-01-01
      • 2020-12-31
      相关资源
      最近更新 更多