/***
flush.c
***/
#include<stdio.h>
#include<string.h>
#include<stdlib.h> int main()
{
FILE *p = fopen("./a.txt","w");
while()
{
char buf[] = {};
scanf("%s",buf);
if( strcmp(buf,"exit") == )
{
break;
}
fprintf(p,"%s\n",buf);
fflush(p);
}
fclose(p);
return ;
}

C语言所有文件操作都是先把数据写进缓存区再一次性写入磁盘文件中。

flush的功能强制随写随存。

好处是不会因为停电或者电脑死机等故障导致缓冲区内容丢失。

坏处是硬盘读写次数增加,导致程序效率低下同时硬盘寿命变短。

最新文章

  1. ubuntu16041,安装opencv3.1.0
  2. 解决VS2010链接错误:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  3. Swift面向对象基础(中)——Swift中的存储属性和计算属性
  4. OSVERSIONINFO
  5. MySQL 5.7.9多源复制报错修复
  6. Linux系统启动流程及grub重建(1)
  7. 如何在WPF程序中使用ArcGIS Engine的控件
  8. 本地化SilverLight应用程序(多语言支持)
  9. ODI KM二次开发手册
  10. Week7(10月21日)
  11. WCF、Web API、WCF REST、Web Service
  12. 全景智慧城市——NOW!!!VRSHOPPING颠覆你的购物认知!
  13. java Hibernate 处理 oracle xmltype类型
  14. web页面中http返回的状态码解释
  15. Android之微信朋友圈UI实现--ExpandableListView+GridView
  16. 题解-USACO18DEC Sort It Out
  17. 使用@font-family时各浏览器对字体格式(format)的支持情况
  18. MAC 无脑编译OpenCV
  19. 非关系型数据库MongoDB
  20. Maven新建一个Spring MVC项目

热门文章

  1. Git 学习笔记之(三)将本地工程导入到GitHub 仓库中
  2. eclipse 创建Java web项目 Cannot change version of project facet Dynamic web module to xxx
  3. 深入分析 Docker 镜像原理
  4. jdk中集成的jre和单独安装的jre有什么区别?
  5. C# 基础 字符串 集合 文件操作
  6. zabbix监控项截图整理
  7. Java并发与多线程
  8. Win7系统打开防火墙出现0x6D9错误的解决方法
  9. ORALCE 数据库字符串处理、常用函数
  10. 十三,k8s集群web端管理工具dashboard部署