问题现象:
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) |