标准IO和文件IO说明
标准IO
从代码开始分析
#include<stdio.h>
int main()
{
int i;
for(i=0;i<1024;i++)
{
printf("x");
}
while(1);
return 0;
}
从上述代码,如果运行的话会是打印什么结果?
答案是不答应任何内容,常规缓冲区是1024大小,也有的是2048。
从上图可以看标准IO数据先到缓冲区,等缓冲区数据满了以后才会输出内容;若printf("x\n")改成\n的话,\n的作用是换行,其实最主要的作用是将缓冲区内的数据输出(不需要缓冲区是否满数据)。
文件IO
文件IO是直接写入硬件,不需要经过缓冲区的这么一种操作方式,下图来加强理解。
小结:通过上述对比,我们可以知道标准IO数据是要经过缓冲区存放写入硬件,而文件IO这套接口是不需要经过缓冲区,直接写入硬件。文件IO就是系统调用,而标准IO就是库函数。