全缓冲
全缓冲:在使用fopen时就是全缓冲状态,在使用fputc会将字符写入缓冲区当中。
如果强制将缓冲区冲刷可以将字符强制写入文件当中。
代码如下
#include<stdio.h>
#define N 60
int main()
{
FILE* fps;
char buf[N];
fps = fopen("./test","w");
fputc('a',fps);
while(1);
return 0;
}
此时文件还未写入
#include<stdio.h>
#define N 60
int main()
{
FILE* fps;
char buf[N];
fps = fopen("./test","w");
fputc('a',fps);
fflush(fps);
while(1);
return 0;
}
此时test大小为1,字符已经强制写进去了。
行缓冲
行缓冲:每一行刷新一次缓冲区,就是见到换行符的时候把缓冲区的内容送到指定位置,如果是输出的话通常是屏幕。
一般指向终端的都是行缓冲,其它则是全缓冲,error一般为无缓冲直接显示到终端上。
版权声明:本文为weixin_42961500原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。