【发布时间】:2013-02-19 17:51:29
【问题描述】:
有没有办法将 int 类型的变量(文件描述符)转换为 C 中的 FILE 类型?我有一个开放的管道 fd,我想使用需要 FILE 的函数。
【问题讨论】:
标签: c file-descriptor
有没有办法将 int 类型的变量(文件描述符)转换为 C 中的 FILE 类型?我有一个开放的管道 fd,我想使用需要 FILE 的函数。
【问题讨论】:
标签: c file-descriptor
你不能投射它,但你可以打电话给fdopen(3),这正是你想要的:
FILE * fdopen(int fildes, const char *mode);
fdopen()函数将流与现有文件描述符 fildes 相关联。流的模式必须与 文件描述符。当流通过fclose(3)关闭时,fildes 是 也关门了。
【讨论】:
在 POSIX 系统上,您可以使用 fdopen 构造一个引用文件描述符的 FILE *。
【讨论】: