#include
/*文件的定义:
* 磁盘文件:指一组相关数据的有序集合,通常存储在外部介质(如磁盘)上,使用时才调用内存。
* 设备文件:在操作系统中把每一个与主机相连的输入、输出设备看作是一个文件,把它们的输入、输出等同于对磁盘文件的读和写。
* 文件缓冲区:文件缓冲区是库函数申请的一段内存,由库函数对其进行操作,程序员没有必要知道存放在哪里,只需要知道对文件操作的时候的一些缓冲特点即可。
*/
/*行缓冲:
* 标准io库函数,往标准输出(屏幕)输出东西的时候是行缓冲的。所谓的行缓冲就是缓冲区碰到换行符的时候才刷新缓冲区。
* 如果不刷新缓冲区,无法对文件执行读写操作
* 全缓冲:
* 标准io库函数,往普通文件读写数据的,是全缓冲的,
* 碰到换行符也不刷新缓冲区,即缓冲区满了,才刷新缓冲区
* 刷新缓冲区的情况:
* 1.缓冲区满了,刷新缓冲区
* 2.认为刷新缓冲区fflush(文件指针)
* 3.程序正常结束会刷新缓冲区
* 无缓冲区:
* 在读写文件的时候通过系统调用io,对文件进行读写数据
* 这个时候是无缓冲的,即写数据会立马进入文件,读数据会立马进入内存。
*/
int main()
{
// 行缓冲
// 没有换行,所以没有刷新缓冲区,由于printf函数是标准io,所以只有刷新缓冲区才可以将数据输出到终端
// printf("Hello World");
// 刷新缓冲区的方法1:使用\n
// printf("Hello World\n");
// 刷新缓冲区方法2:程序正常结束
// printf("Hello World");
// return 0;
// 刷新缓冲区的方法3:使用fflush函数刷新缓冲区
// fflush:刷新函数,可以刷新指定的缓冲区
// stdout:标准输出,就是对终端进行写操作
// printf("Hello World");
// fflush(stdout);
// 刷新缓冲区的方法4:当缓冲区满的时候自动刷新
// 默认缓冲的大小为1024个字节
// int i;
// for (i=1;i<300;i++) {
// printf("%03d ",i);
// }
// while(1)
// ;
// 全缓冲
return 0;
}