问题解决:printf()函数无法打印

您所在的位置:网站首页 xilprintf打印不出来 问题解决:printf()函数无法打印

问题解决:printf()函数无法打印

2024-06-10 04:15| 来源: 网络整理| 查看: 265

今天写聊天室项目,调试出了问题,查看了代码无法找到问题,于是用printf()逐行打印。

问题定位很快,然而发现打印到一半,就无法显示。进过排查,这不是程序的问题,而是printf()函数无法打印。

这个问题涉及到printf()输出缓冲的问题。

对于标准输出设备stdout,输出一般都有缓冲,当遇到刷新标志或缓冲满时才把缓冲的数据输出到标准输出设备中。

对于printf()函数,其使用的输出设备就是标准输出设备stdout,且采用行缓冲式的输出,当printf()遇到\n时,或者缓冲区满时,才会将缓冲区里的内容刷新到标准输出(stdout).

为了解决这个问题,可以通过:fflush(stdout);解决,即:

[plain] view plain copy print ? printf("qqqqqqqqq");     fflush(stdout);   printf("qqqqqqqqq"); fflush(stdout);

fflush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃[非标准] fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上

printf("。。。。。。。。。。。");后面加fflush(stdout);可提高打印效率

转自:http://blog.csdn.net/yhj110911119/article/details/52196540



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3