fileno将文件转换为描述符C

fileno将文件转换为描述符C,c,file-descriptor,C,File Descriptor,有没有一种方法可以将int(文件描述符)类型的变量强制转换为C中的file类型?我有一个开放管道fd,我想使用预期文件的函数。您不能强制转换它,但您可以调用它,它可以完全满足您的要求: 函数将一个流与现有的文件描述符fildes相关联。流的模式必须与流的模式兼容 文件描述符。当流通过fclose(3)关闭时,fildes被关闭 也关闭了 在POSIX系统上,您可以使用构造一个引用文件描述符的文件*。谢谢Carl,那么fdopen最终会对fd进行任何系统调用,还是只返回一个文件流?@user194

有没有一种方法可以将int(文件描述符)类型的变量强制转换为C中的file类型?我有一个开放管道fd,我想使用预期文件的函数。

您不能强制转换它,但您可以调用它,它可以完全满足您的要求:

函数将一个流与现有的文件描述符fildes相关联。流的模式必须与流的模式兼容 文件描述符。当流通过fclose(3)关闭时,fildes被关闭 也关闭了


在POSIX系统上,您可以使用构造一个引用文件描述符的
文件*

谢谢Carl,那么fdopen最终会对fd进行任何系统调用,还是只返回一个文件流?@user1944224,这可能取决于实现。
FILE *
fdopen(int fildes, const char *mode);