我正在用 funopen 打开一个流
FILE *fin = funopen(cookie, readfn, NULL, NULL, closefn);
if (fin == NULL)
{
handle_error();
return -1;
}
int fdin = fileno(fin);
对 funopen 的调用成功,但 fileno(fin)
返回 -1
。
如何获取文件描述符?谢谢。
最佳答案
用funopen
打开的FILE
(顺便说一下,这不是任何标准的一部分;据我所知,它是BSD 扩展)没有底层文件描述符。它有 cookie 而不是。我不知道你想要文件描述符做什么,但你可能运气不好。
关于c - 为什么 fileno 无法返回有效的描述符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7140420/