c-文件描述符和文件指针之间的区别是什么



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

如果我打开这样的文件:

FILE *fp = fopen("mr32.txr","r");

那么CCD_ 1是文件指针还是文件描述符?它们之间的区别是什么?

fp是FILE指针

文件指针:

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

文件描述符:

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

基于此链接

它是指向FILE结构的指针,如果这是您所要求的。文件描述符是一个整数。FILE结构及其相关API是C标准的一部分。文件描述符及其相关函数不是。在实践中,您可以互换使用任意一组函数,尽管在默认行为方面存在一些显著差异。您可以阅读手册页来了解哪些函数采用哪种类型的参数。在具有文件描述符的系统上,通常可以使用fdopen(3)函数从打开的文件描述符中获取FILE结构,而fileno(3)则相反。

FILE是一个结构体,它包含有关文件的信息,包括文件描述符。

相关内容

  • 没有找到相关文章

最新更新