C语言 刷新缓冲区

fflush
int fflush(FILE* stream);

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

 

eg:

1.

#include
#include

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

    fclose(fp);
    
       return(0);
}

C语言 刷新缓冲区_第1张图片

C语言 刷新缓冲区_第2张图片

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

2.

#include
#include

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

C语言 刷新缓冲区_第3张图片

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

 

 

你可能感兴趣的:(C++,C)