【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:armink.ztl@gmail.com】
今天在做一个C项目时用到多线程,调试用到printf,但是发现每次打印信息都是程序执行完成后才全部打印,打印信息被阻塞了。
最终找到原因,是由于C的printf是默认带缓冲输出,所以只需要把缓冲关闭即可实时显示打印信息。方法如下:
在主程序打印之前执行
setbuf(stdout,NULL);
编译环境:windows7 Eclipse+CDT+MingW
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:armink.ztl@gmail.com】
今天在做一个C项目时用到多线程,调试用到printf,但是发现每次打印信息都是程序执行完成后才全部打印,打印信息被阻塞了。
最终找到原因,是由于C的printf是默认带缓冲输出,所以只需要把缓冲关闭即可实时显示打印信息。方法如下:
在主程序打印之前执行
setbuf(stdout,NULL);