我想知道文件描述符和文件指针之间的区别.

另外,在什么情况下,您会使用其中一种而不是另一种?

推荐答案

文件描述符是一个低级整数"句柄",在Linux和其他类似Unix的系统中,用于在内核级别识别打开的文件(或套接字,或其他任何文件).

将"裸"文件描述符传递给实际的Unix调用,例如100101等等.

FILE指针是C标准库级构造,用于表示文件.FILE封装了文件描述符,并添加了缓冲和其他功能,以简化I/O.

FILE个指针传递给标准C函数,比如100101.

C++相关问答推荐

是否定义了数组指针类型转换为指针类型?""""

在C中使用强制转换将uint16_t转换为uint8_t [2]是否有效?

我编译了一个新的c程序,并收到以下错误

C中的指针增量和减量(*--*++p)

为什么cudaFree不需要数据 struct 的地址?

是什么让numpy.sum比优化的(自动矢量化的)C循环更快?

如何在CANbus RX/TX FIFO起始地址寄存器(ATSAME 51)的特定地址初始化数组?

我的C函数起作用了,但我不确定为什么

为 struct 中的数组动态分配内存时出错

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

从不兼容的指针类型返回&&警告,但我看不出原因

存储和访问指向 struct 的指针数组

使用mmap为N整数分配内存

为什么argc和argv即使在主函数之外也能工作?

如何在Rust中处理C的longjmp情况?

C 和 C++ 标准如何告诉您如何处理它们未涵盖的情况?

'printf("%s", user_input)' 危险吗?

C/C++编译器可以在编译过程中通过按引用传递来优化按值传递吗?

10 个字节对于这个 C 程序返回后跳行的能力有什么意义

nullptr_t 是否会 destruct 类型双关或指针转换?