Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1743334
  • 博文数量: 143
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1462
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-23 11:14
文章分类

全部博文(143)

文章存档

2022年(3)

2021年(13)

2020年(21)

2019年(8)

2018年(28)

2017年(7)

2016年(63)

我的朋友

分类: 嵌入式

2016-09-20 19:01:54

问题现象
  C语言中printf时,有时当字符串结尾没有\n时,字符串无法打印,怎么解决?
解决方案
  printf后面加上fflush(stdout)即可。
另外
  我们经常遇到的tcflush(fd, TCIOFLUSH); 和 fflush(stdout);fflush(stdin); 它们是什么区别?
  区别:(详见: 
      fflush:属于流 IO 接口,缓冲用户级别的数据。
      tcflush:属于终端 IO 接口,在进程和内核之间运行,提供诸如缓冲区和格式化输出等功能。
  实测:tcflush(fd, TCOFLUSH);比fflush(stdout);更快,即tcflush会打断前一printf的内容,会导致printf输出不完整;而fflush会等前一printf打印完成后才清空输出缓存。
阅读(4113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~