【问题标题】:Does fopen create a file descriptor?fopen 是否创建文件描述符?
【发布时间】:2012-03-27 09:32:25
【问题描述】:

查看fopen 的手册页我无法得到这个问题的明确答案。

FILE *fopen(const char *path, const char *mode);

我知道fopen 返回一个指向流的文件指针,但文件描述符是作为副产品创建的吗?我试图确保在创建文件描述符的每个实例上都包含标志FD_CLOEXEC。如果文件描述符实际上是从fopen 创建的,那么当没有“fd”用作输入时,使用fnctl() 的最佳方式是什么。

谢谢。

【问题讨论】:

    标签: c unix fopen file-descriptor


    【解决方案1】:

    在 Unix 上(我假设你正在使用它,因为你提到了 fcntl)它确实打开一个文件描述符,因为 fopen(3) 最终调用 open(2). 你可以获得那个文件描述符通过fileno(3)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-01
      • 2013-04-16
      • 2014-04-10
      • 2016-02-17
      • 2020-03-26
      • 2011-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多