我有一个FILE *,打给fopen().我需要从中获取一个文件描述符,以便对其进行类似fsync(fd)的调用.从文件指针获取文件描述符的函数是什么?

推荐答案

正确的函数是int fileno(FILE *stream).它可以在<stdio.h>中找到,并且是POSIX标准,但不是标准C.

C++相关问答推荐

生成C代码时自动复制/生成' tmwtypes.h '依赖项

常数函数指针优化

字符串令牌化xpath表达式

在C语言中使用scanf()时我无法理解的警告

两个连续的语句是否按顺序排列?

编译的时候g++通常会比GCC慢很多吗?

为什么在4.9.37版的内核中,kfio还需要smp_wmb呢?

使用额外的公共参数自定义printf

为什么在此程序中必须使用Volatile关键字?

不会停在空格或换行符上的错误

如何将字符串传递给函数并返回在C中更改的相同字符串?

Clang:如何强制运行时错误的崩溃/异常由于-fsanitize=undefined

每个 struct 变量在C中都有自己的命名空间吗?

Flose()在Docker容器中抛出段错误

这个计算C中阶乘的函数正确吗?

为什么我在C代码中得到一个不完整的类型?

C:Assignment中的链表赋值从指针目标类型中丢弃‘const’限定符

将复合文字数组用作临时字符串缓冲区是否合理?

如何解释数组中的*(ptr)和*(ptr+2)?

当循环变量在溢出时未定义时,可以进行哪些优化?