文件,流到底是怎么一回事?

Minary 2002-08-13 05:06:24
小弟最近刚开始接触c语言编程,有个问题一直没搞明白。关于文件,流,输入,输出,他们之间的关系是什么?
...全文
88 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xixuan 2002-08-14
  • 打赏
  • 举报
回复
从底层实现的角度讲,可以将一个文件所拥有的信息分为静态信息(例如文件在磁盘上的存储位置)和动态信息(最明显的就是读写文件时要用到的文件指针,只有当系统中有线程使用该文件时才会有这些动态信息)两部分,而流就是与文件的静态信息相对应的概念,文件的动态信息则由各个使用该文件的线程分别保管(在windows中就是CreateFile返回的文件句柄)。这样的划分带来的一个好处就是当系统中有多个线程使用同一个文件时,只需为这些线程创建一个流就可以了,而各个线程所要做的只是各自维护关于文件的动态信息就可以了,这样就实现了流的共享。
lanfengjiyue 2002-08-14
  • 打赏
  • 举报
回复
c语言没有流啊,是c++的输入输出概念
Minary 2002-08-14
  • 打赏
  • 举报
回复
你的比喻很形象,谢谢!
baryjim 2002-08-13
  • 打赏
  • 举报
回复
while(1)
{
快考试了,学生们陆陆续续来到考场门口进行等待,监考老师到门口检查学生的准考证,看有没有弄错考场的,如果需要的话,在考场外面按学号给学生排还次序......以便学生进去后不用找座位了
铃声响了,学生们进入考场
}

不知道我的比喻是否恰当
fatalerror99 2002-08-13
  • 打赏
  • 举报
回复
流就是一个连续不断的,有特定方向的数据流,是 C++ 中数据输入输出的一种管理方式,流只是一个形象的比喻性的说法,顾名思义就可以了。
zheng_can 2002-08-13
  • 打赏
  • 举报
回复
C 里面好像没有 流 这个东西吧

对于 流,可以照字面意思理解
想江河一样的东西
把数据丢给它就可以了,它自己会处理的
julyclyde 2002-08-13
  • 打赏
  • 举报
回复
流是单向的,输入和输出是2个流
而文件是双向的,可以在一个FILE*内输入输出

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧