Qtcreator中调试控制台程序及调用printf打印不显示问题

3 篇文章 0 订阅

一.

在qtcreator中调试控制台程序或者其它c语言编写的程序默认直接点击调试会有窗口一闪而过并不会进入调试会直接结束,如果需要调试需要设置运行环境,取消Run in terminal选项。项目->运行->取消勾选Run in terminal

二.

关于qtcreator调试控制台程序使用printf打印不显示问题,主要原因是缓存原因,有全缓冲,行缓冲,无缓冲,如无特殊操作(fflush(stdout))全缓冲只有达到当前缓冲区大小才会输出,行缓冲则会在接受到\n换行符时输出,无缓冲则是有什么输出什么,网上看到关于该问题的解决方法都是调用fflush进行刷新,这种对于有较多地方那个需要打印比较麻烦,所以根据原理在main函数入口设置标准输出为行缓冲或者无缓冲这样就是实时打印信息了(标准错误一样)

#include<stdio.h>

int main()
{
//方法一
  setbuf(stdout,NULL);
 
//方法二
//设置行缓冲需要用到另外一个函数
//_IOFBF 全缓冲
//_IOLBF 行缓冲
//_IONBF 无缓冲
//setvbuf(stdout,NULL,_IONBF,0);

return 0;
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值