当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C语言 fflush()用法及代码示例


C 中的 fflush() 函数

原型:

    int fflush(FILE *filename);

参数:

    FILE *filename

返回类型:0 或 EOF

函数的使用:

当我们处理文件处理时,我们处理流而不是处理文件。有三种类型的流stdin(标准输入),stderr(标准误差),stdout(标准输出)。 fflush() 函数用于在程序每次迭代后刷新缓冲区。当我们打开一个文件进行写入操作时,调用 fflush() 函数有助于写入文件并清除流中的缓冲区。 ffiush()函数的原型是:int fflush(FILE* filename);

返回值零表示成功,返回值 EOF 表示发生了一些错误。

C 中的 fflush() 示例

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

int main()
{
    //Initialize the file pointer
    FILE* f;
    //Take a array of characters
    char ch[100];
    //Create the file for write operation
    f = fopen("includehelp.txt", "w");
    printf("Enter five strings\n");
    for (int i = 0; i < 4; i++) {
        //take the strings from the users
        scanf("%[^\n]", &ch);
        //write back to the file
        fputs(ch, f);
        //every time take a new line for the new entry string
        fputs("\n", f);
        //except for last entry.Otherwise print the last line twice
        //clear the stdin stream buffer
        //fflush(stdin);
        //if we don't write this then after taking string
        //%[^\n] is waiting for the '\n' or white space
    }

    //take the strings from the users
    scanf("%[^\n]", &ch);
    fputs(ch, f);
    //close the file after write operation is over
    fclose(f);

    //open a file
    f = fopen("includehelp.txt", "r");
    printf("File content is--\n");
    printf("\n...............print the strings..............\n");
    while (!feof(f)) {
        //takes the first 100 character in the character array
        fgets(ch, 100, f);
        //and print the strings
        printf("%s", ch);
    }

    //close the file
    fclose(f);

    return 0;
}

输出

fflush example in c 1

如果我们这里不使用 fflush() 函数。然后输出将是...

fflush example in c 2



相关用法


注:本文由纯净天空筛选整理自Souvik Saha大神的英文原创作品 fflush() function in C language with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。