flush清空输入输出流

#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <io.h>

void flush(FILE *stream);

int main(void)
{
    FILE *stream;
    char msg[] = "This is a test";
    /* create a file */
    stream = fopen("DUMMY.FIL", "w");
    /* write some data to the file */
    fwrite(msg, strlen(msg), 1, stream);
    printf("Press any key to flush DUMMY.FIL:");
    getch();
    /* flush the data to DUMMY.FIL without closing it */
    flush(stream);
    printf("
File was flushed, Press any key to quit:");
    getch();
    return 0;
}

void flush(FILE *stream)
{
    int duphandle;
    /* flush the stream's internal buffer */
    fflush(stream);
    /* make a duplicate file handle */
    duphandle = dup(fileno(stream));
    /* close the duplicate handle to flush the DOS buffer */
    close(duphandle);
}




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

int main(void){
    FILE *fp;
    if((fp=fopen("test", "rb"))==NULL) {
        printf("Cannot open file.
");
        exit(1);
    }
    char ch = 'C';
    int i;
    for(i=0; i<5; i++) {
        fwrite(ch, sizeof(ch), 1, fp);
        fflush(fp);
    }
    fclose(fp);
    return 0;
 }
 
 
原文地址:https://www.cnblogs.com/timssd/p/4091032.html