文件描述符和文件指针之间有什么区别?

Jee*_*tel 5 c operating-system file-descriptor file-pointer

可能重复:
文件描述符和文件指针之间有什么区别?

如果我这样打开文件:

FILE *fp = fopen("mr32.txr","r");
Run Code Online (Sandbox Code Playgroud)

fp是文件指针还是文件描述符?它们之间有什么区别?

Adi*_*idu 4

fp 是文件指针

文件指针:

  1. 它是高级接口
  2. 传递给 fread() 和 fwrite() 函数
  3. 包括缓冲、错误指示、EOF检测等。
  4. 提供更高的便携性和效率。

文件描述符:

  1. 低/内核级处理程序
  2. 传递给 UNIX 系统调用的 read() 和 write()
  3. 不包括缓冲等功能
  4. 便携性较差且缺乏效率

基于此链接