在使用多个输出函数连续进行多次输出时,有可能发现输出错误。因为下一个数据再上一个数据还没输出完毕,还在输出缓冲区中时,下一个printf就把另一个数据加入输出缓冲区,结果冲掉了原来的数据,出现输出错误。 在 printf();后加上fflush(stdout); 强制马上输出,避免错误。

实例

//线程函数(1秒输出现记录的信息)
static void *stats_thread(void *arg)
{uint32_t seconds = 0;while (TRUE){
#ifndef DEBUGprintf("%d, %d\n", get_ip_num(), get_ip_login());
#endiffflush(stdout);sleep(1);}
}

C/C++fflush(stdout)循环打印输出避免缓存区错误相关推荐

  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(stdin)与fflush(stdout)

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

  4. 清空缓冲区:fflush(stdin)、fflush(stdout)

    fflush(stdin)用来清理输入缓冲区,平时用scanf()输入数据后会按回车,一般用fflush(stdin)来清理输入缓冲区,不然有时候该回车符会影响到后面的数据输入. fflush(std ...

  5. fflush(stdin)和fflush(stdout)

    fflush(stdin)比较容易理解,即清理标准输入流,把多余的仍未被保存的数据丢掉. 比如,下面这个小程序: void main() { int a; char str[10]; cin>& ...

  6. au加载默认的输入和输出设备失败_一文带你读懂 C/C++ 语言输入输出流与缓存区...

    (给CPP开发者加星标,提升C/C++技能) 作者:技术让梦想更伟大 / 李肖遥 (本文来自作者投稿) 前言 有没有发现,基本上所有的C语言入门书籍,或者是我们的教程里面,第一个C语言程序实体,都是& ...

  7. c语言清除文件缓存区,C语言之清空缓存区

    在C语言中,我们常常需要去清空缓存区,对于缓存区清空的重要性,接下来我们进行具体的说明. 首先我们先解释一下缓存区. 1.缓存区 C语言中的缓冲区又称为缓存,它是内存空间的一部分. 也就是说,在内存空 ...

  8. 输入输出缓存区及其刷新缓冲条件(超详细)

    在关于计算机的话题讨论中,我们不可避免的会提到输入.输出这两个关键的词语.我们讨论过输入输出设备(键盘,扫描仪等),以及如何处理输入和输出数据,更常见的便是执行输入输出的函数(printf.scanf ...

  9. linux socket 清空缓存区

    情况一:知晓缓存区中数据的大小 这种情况应该就不用多说了,直接循环的把数据都读取出来就行了. 情况二:不知道缓存区中数据的大小 方案一 close一次socket,这个方案有效是有效,但这样的小问题还 ...

最新文章

  1. Linux下Tomcat的启动、关闭、杀死进程
  2. Gym 101128 B Black Vienna
  3. 当装了两个tomcat后,如何修改tomcat端口
  4. [深度学习-原理]BP神经网络
  5. 2018-2019 20165204 20165216 20165220 实验四 外设驱动程序设计
  6. Linux学习笔记(PATH,cp,mv,文档查看cat/more/less/head/tail)
  7. mac 协议的 类型
  8. pmp知识点(7)-项目成本管理
  9. android手机怎么投屏到电视盒子,Android手机与电视同步投屏详细教程
  10. android studio 模拟器很慢,解决AndroidStudio模拟器卡慢的问题
  11. vulhub-activemq-cve-2015-5254
  12. ASCII码对照表--符号/十进制/十六进制
  13. Python添加或去掉百分号
  14. 12306崩了,90%的人都用过这三款抢票工具
  15. pd.expanding()时间序列中min_periods到底怎么理解
  16. mysql级联是什么意思_MySql级联操作
  17. Ubound Lbound,数组上下边界 将二维数组处理后写入新数组,并粘贴到单元格中。
  18. RESTful服务 安全
  19. Python 内置turtle模块 —— 画一面国旗(基础篇)
  20. 【翻译】构建安全的云原生基础设施的GitOps顶级策略

热门文章

  1. 抖音张一鸣:我的大学四年收获及工作感悟
  2. motionVFX mRevealer Glitch Mac(fcpx插件:30个故障干扰马赛克毛刺失真特效)
  3. Big Sur bug汇总与解决:macOS Big Sur更新后你遇到了哪些问题?
  4. 超强Mac数据恢复软件:Disk Drill Enterprise Mac
  5. JS实现的文章字符串中某个字符总个数统计在线小工具实例
  6. laravel mongodb如何声明数据类型_什么是MongoDB?简介,架构,功能和示例
  7. ext store 数据修改_extjs 之Ext.data.Store变更单行记录值【修改】
  8. C++笔记-VS2015加载Live2D(OpenGL)
  9. QtJava笔记-Qt与Java进行SSL双向认证(Qt服务端,Java客户端)
  10. Qt工作笔记-QMap查找时要注意的问题(使用contains)