C标准库 fflush函数

fflush()函数用于清除流,即清除文件缓冲区,当文件以写的方式打开时,将缓冲区内容写入文件。

fflush()函数 语法

int fflush(FILE*p);

参数p为要清除的文件流。

fflush()函数刷新成功时返回0;指定的流没有缓冲区域或只读打开时也返回0;否则,返回EOF指出一个错误。

fflush()函数 示例

本示例使用fflush函数将缓冲区的内容写入文件1.txt中,其具体代码如下所示:

#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<io.h>
void flush(FILE*p);
int main(void)
{
     FILE*p;
     char s[]="Good luck to you!";
     p=fopen("1.txt","w");/*创建文件*/
     fwrite(s,strlen(s),1,p);/*向文件中写入一些字符*/
     printf("Press any key to flush 1.txt:");
     getch();
     flush(p);/*清除流*/
     printf(" File was flushed,Press any key to quit:");
     getch();
     return 0;
}
void flush(FILE*p)
{
     int fhandle;
     fflush(p);/*清除文件缓冲区*/
     fhandle=dup(fileno(p));/*复制文件句柄*/
     close(fhandle);/*关闭复制文件句柄*/
}

程序运行结果如图所示。

fflush()函数

赞(1)
未经允许不得转载:极客笔记 » C标准库 fflush函数
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址