流和文件有什么区别?

时间:2014-01-05 18:46:41

标签: c file io stream

C标准谈论流。例如,fopen(3)手册页告诉fopen流开放功能

有人可以解释一下 streams 究竟是什么,以及它们与文件的关系?

1 个答案:

答案 0 :(得分:7)

在C标准库的上下文中,流是用于执行某些I / O操作的通用接口。您可以从流中读取,写入流,可以搜索某些流。将文件作为流打开只是将流作为应用程序的I / O接口的一种方式。

让我quote

  

12.1 Streams

     

由于历史原因,表示流的C数据结构的类型称为FILE而不是“stream”。由于大多数库函数处理类型为FILE *的对象,因此术语文件指针有时也用于表示“流”。这导致了很多关于C语言的术语的不幸混淆。

C中的I / O流示例:

如需进一步阅读,请查看以下链接:

在旁注中,例如POSIX mmap()函数提供了在不使用流接口的情况下执行文件I / O的选项,即内存映射I / O :< / p>