C语言 为什么我们同时需要文件描述符和文件指针



文件描述符的行为是否与文件指针完全相同,只是它们属于不同的类型?那么为什么我们需要它们,因此需要这么多"重复"的功能,如打开和打开,关闭和关闭?如果我们总是只使用 fd 或 fp,然后我们记住的东西就会更少,那不是更简单吗?

文件描述符是打开的"文件"的原始句柄(我说"文件",因为许多严格来说不是文件的东西都使用文件 I/O 支持,这是设备 I/O 支持的基本级别)。

文件指针是描述符(即 fd API 提供的基本 I/O 之上的一层)的包装器,它使使用它的 API 能够执行更多操作,而不仅仅是读取、写入、刷新、查询和关闭设备。诸如缓冲之类的事情。基本上,指针指向一个内存上下文,其中可以存储与打开文件的特定实例相关的其他有用内容。在OOP有语言支持之前,可以把它想象成非常原始的OOP。

对于 99.999% 的编程,您永远不需要使用 fd ;我在 3 个不同的平台上全职编写 C 大约 10 年,在那段时间里,我相信我可能会使用大约十几次fd

相关内容

  • 没有找到相关文章

最新更新