gpt4 book ai didi

c - 从没有 fileno() 的文件指针获取文件描述符

转载 作者:太空宇宙 更新时间:2023-11-04 05:47:31 27 4
gpt4 key购买 nike

是否可以在不使用 fileno(FILE* file) 的情况下从文件指针获取文件描述符?

特别是,是否可以仅使用 C 标准库中的函数?(我的问题实际上是因为 fileno() 是一个 POSIX 标准函数但不是标准 C.)

最佳答案

没有。

文件描述符不是标准 C 的一部分。C 标准没有义务要求系统使用文件描述符来实现标准 I/O 库。因此,无法使用标准 C 从文件流中获取文件描述符;文件描述符的概念并不是 C 标准的一部分。这就是为什么 fileno()不是标准的 C 函数。

C11 标准 §7.21 Input/output <stdio.h> 没有使用文件描述符指定任何函数。

If fileno() is not a standard function, what's the value that the function open() returns?

open()函数也不是标准 C 的一部分;使用文件描述符的函数都不是标准 C 的一部分。 POSIX standard确实提供了使用文件描述符的函数——其中很多,包括 open() fileno() .大多数系统都提供了 POSIX 未定义但使用文件描述符的扩展函数。

关于c - 从没有 fileno() 的文件指针获取文件描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56820378/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com