名称

fflush – 冲刷流

概要

#include <stdio.h>

int fflush(FILE *stream);

说明

对于输出流来说,fflush强制写所有用户空间缓冲的数据,或者通过流的底层写函

数更新流。

对于跟可做位置偏移操作的文件(比如磁盘,但不能是管道也不能是终端)绑定的

输入流来说,fflush丢弃所有已经从底层文件获取到但并未被应用程序消费掉的缓

冲数据。

流的打开状态不受影响。

如果参数stream为NULL,则fflush冲刷所有的已打开的流。

关于非阻塞的实现,参考unlocked_stdio。

返回值

成功返回0,否则返回EOF并且errno被设置为对应的错误码。

错误

EBADF 流没有打开,或者没有以写方式打开流。

fflush也可能会因为write失败而失败,此时errno对应write的错误。

线程安全特征

接口

特征

fflush()

线程安全

多线程安全

标准

C89, C99, POSIX.1-2001, POSIX.1-2008。

POSIX.1-2001并没有规定冲刷一个输入流的实现,但是POSIX.1-2008对此做了规

定。

注意

fflush只冲刷由C库实现的用户空间的缓冲。为了保证数据存储到硬盘,必须冲刷

内核的缓冲,例如调用sync,fsync。

推荐阅读

fsync,sync,write,fclose,fopen,setbuf,unlocked_stdio

版本记录

这个页面是Linux man-pages项目4.04版本的一部分。关于该项目的信息和bug

报道可以在该网站找到:http://www.kernel.org/doc/man-pages/。

2015- 03-02

man fflush相关推荐

  1. fflush(stdin)和fflush(stdout)和rewind(stdin)的区别和作用

    理解:fflush(stdin)和fflush(stdout)和rewind(stdin) 小结论(多谢网友zhao4zhong1为我解答疑难): 1.在每个最后不带\n的printf后面加fflus ...

  2. Linux环境编程--fflush(stdout)有什么作用

    代码: printf("hello\n"); //fflush(stdout); fork(); 输出: hello 代码: printf("hello\n") ...

  3. fflush函数的深入理解

    本人昵称sky,欢迎与各位多多交流学习 这样的c程序想必大家都不陌生,fflush()这个函数有清除输入输出缓存的功能,那很多人就会问了,什么是清除输入输出缓存呢? 其实就是我们在printf输出的时 ...

  4. C/C++ 误区:fflush(stdin)

    C/C++ 误区:fflush(stdin) 注:本文转自http://blog.chinaunix.net/u/32196/showart.php?id=250809 并非原创,收入本博,聊作记录. ...

  5. c语言中fflush的运用为什么没有效果呢,测试平台linux

    1 /************************************************************************* 2 > File Name: clear ...

  6. fflush(stdin)与fflush(stdout)

    1.fflush(stdin): 作用:清理标准输入流,把多余的未被保存的数据丢掉.. 如: int main() {int num;char str[10];cin>>num;cout& ...

  7. 关于fflush、缓冲区、scanf、EOF等问题真麻烦

    1.为什么 fflush(stdin)是错的 http://u637.springnote.com/pages/6288463.xhtml(已经bad request了) 首先请看以下程序: #inc ...

  8. 关于fflush(stderr);

    stdout:标准输出设备 stderr:标准错误输出设备 两者都默认向屏幕输出. fflush() fflush用于清空缓冲流,虽然一般感觉不到,但是默认printf是缓冲输出的. fflush(s ...

  9. scanf最好与fflush(stdin)配合使用

    鉴于scanf函数的复杂性,最好将fflush(stdin)函数放在scanf函数后.每次从键盘输入数据后,就将缓冲区清空.

  10. Linux系统中fflush,sync,syncfs,fdatasync,fsync的比较

    #include <stdio.h> int fflush(FILE *stream); fflush 是 C 标准库提供的函数,对输入输出流起作用,起作用的是C标准库管理的用户空间文件缓 ...

最新文章

  1. 服务器内存技术知识充电
  2. ubuntu20配置阿里源简单粗暴的方法
  3. SpringBoot创建SpringBoot项目以及启动器讲解
  4. UVA12107Digit Puzzle数字字谜(迭代加深搜索)
  5. DB、ETL、DW、OLAP、DM、BI关系结构图
  6. c语言作业的分析,C语言作业分析.doc
  7. EFK 配置geo-ip落地实践
  8. javastring转long的方法_被JDK坑的没商量?来试试这些方法吧
  9. 理解InnoDB数据及索引文件存储格式
  10. 【三十二】thinkphp之连接数据库、实例化模型
  11. 人工智能算法自动化测试_自动化:算法如何塑造我和你的生活
  12. 三星s7250d下载php,HTML5表现令人满意_三星 S7250D(Wave M)_手机其它OS-中关村在线...
  13. Python-sympy计算问题入门-求极限
  14. Hive虚拟内存溢出报错:2.9GB of 2.1GB virtual memory used. Killing container.解决办法
  15. Python实现psf2otf
  16. 北上资金全透视月报:上月外资大幅流入,增持周期与消费(20210107).PDF
  17. GAMES101笔记_Lec01_计算机图形学概述 Overview of Computer Graphics
  18. Mac功夫:OS X 的300多个技巧和小窍门
  19. Unity3D教程:Unity3D自带寻路教程
  20. Cufllinks的安装与使用

热门文章

  1. 容器:forward_list用法及示例
  2. wingide python_WingIDE下载|Wingware Python WingIDE汉化中文版6.0 下载_当游网
  3. Learning to Reweight Examples for Robust Deep Learning
  4. 常见bat命令(二)
  5. 代码有毒/凉茶/mrcode 关于本博客
  6. X-Frame-Options简介
  7. 互联网快讯:“20220222”扎堆领证;极米多款产品获消费者肯定;星巴克两门店使用过期食材被罚
  8. 【安装windows10 RTX3090 tensorflow的开发环境】
  9. 随着计算机科学,行测真题_随着科学技术的发展,人机交流已经成为现实_步知行测...
  10. 小学生课外必读书目(推荐)