流c语言流
发布时间: 2024-01-22 18:16:58
① c语言中什么是流
流是程序输入或输出的一个连续的字节序列,设备(例如鼠标、键盘、磁盘、屏幕、调制解调器和打印机)的输入和输出都是用流来处理的。在C语言中,所有的流均以文件的形式出现----不一定是物理磁盘文件,还可以是对应于某个输入/输出源的逻辑文件。
② C语言“流”是什么概念
首先理解流的意思,可以想象水从水管里出来,这就是一股水流。
然后,c语言中流动的不再是水,而是有顺序的,有排列结构的数据。比如100001111100001(二进制)
C里的文件流,C里标准文件方式把文件当作流来看,也就是有一个内部缓冲buffer(在C库内部建立,一般为512B),每次以标准方式打开文件时,读入时先将数据读到这个缓冲区里,写的时候也是先写入缓冲区里。
C里标准输入就是stdin,标准输出就是stdout,C对键盘输入(比如scanf)和屏幕输出(比如printf)的行缓冲机制就是建立在这些文件的流机制上的。
有时候比如scanf输入整数时,最后一个回车就会留在流的buffer里。如果下次时你读字符的话就会把它读入。这就是为什么有些C实现允许你用fflush(stdin)来清除输入缓冲,不过C标准只定义了对普通文件和stdout等输出流的fflush行为。因为按理说fflush刷新缓冲不应该丢弃输入的。
③ C语言中的流
流么就是流派的意思,就像你打游戏(比如魔兽争霸),就有鼠标流,键盘流。鼠标流:擅长用鼠标操作的;键盘流:擅长用键盘操作的;
流最明显的就是输入流和输出流,输入流(如scanf,getchar等):用于输入的;输出流(printf,putchar等):用于输出的。
热点内容