1、文件IO与标准IO的区别
文件IO:文件IO由操作系统提供,与操作系统绑定。与操作系统绑定的IO函数又称之为调用函数。不同的操作系统,使用的文件IO函数不同。
特点:a.移植性,复用性比较低,只能跑在Linux操作系统上。
b.文件IO设计到CPU模式的切换,C代码调用汇编语言,空间切换等等,是一个耗时操作。
标准IO:标准IO是根据ANSI标准,对文件IO的二次封装。 标准IO最终依然会去调用文件IO。
特点:a.解决了移植性低,复用性低的问题。
b.提高了输入输出效率:在用户空间,设置一个缓冲区,等待缓冲区满或者满足一定条件后,调用文件IO刷新缓冲区。大大减少了对文件IO函数的调用次数。
2、特殊的流指针有哪些?
FILE *stdin 描述符 0
FILE *stdout 描述符 1
FILE *stderr 描述符 2
3、缓冲区分类、操作对象、刷新方式
缓冲区分为3类:全缓冲,行缓冲和无缓冲
(一)全缓冲:操作对象:手动用fopen函数打开文件后,获取搭配的流指针维护的缓冲区均为全缓冲。
大小:4096byte
刷新缓冲区的方式:a.缓冲区满 b.用fflush函数强制刷新 c.关闭流指针 d.main函数调用return退出