问题解决:printf()函数无法打印 |
您所在的位置:网站首页 › xilprintf打印不出来 › 问题解决:printf()函数无法打印 |
今天写聊天室项目,调试出了问题,查看了代码无法找到问题,于是用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 |