C语言 刷新缓冲区

fflush
int fflush(FILE* stream);

用于清空文件缓冲区,如果文件是以写的方式打开 的,则把缓冲区内容写入文件。

eg:

1.

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *fp = fopen("f:\lanyue.txt","w");
    int data;
    
    while((data = getchar()) != 'q'){
        
        fputc(data,fp);
    }

    fclose(fp);
    
       return(0);
}

我们可以看出,只有输入结束后才会写入指定文件信息。

2.

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *fp = fopen("f:\lanyue.txt","w");
    int data;
    
    while((data = getchar()) != 'q'){
        
        fputc(data,fp);
        fflush(fp);
    }
    
    fclose(fp);
    
       return(0);
}

加上fflush();函数后,每完成一次输入便会写入文件信息.

 

原文地址:https://www.cnblogs.com/viplanyue/p/12700553.html