Eclipse对printf()不能输出到控制台的解决方法

方案1:

在main 语句中加一条 

setbuf(stdout,NULL); 这个即可。

 

在ecplise下使用cdt开发c程序,发现运行后终端没有输出,停止后会输出,通过在main中添加

setbuf(stdout,NULL);

解决问题,原来是因为默认输出流存在buffer机制,通过上面语句, 取消buffer。

方案2:

Eclipse的控制台经常对C语言的printf不能正常输出,究其原因,就是因为输出内容停留在了输出缓冲区里,而没有及时输出到控制台界面,解决的方法很简单:在每个printf后加上fflush(stdout)即可,或者,像我一样,把printf用一个宏封装一下

#define OUTPUT_STR(str) do{printf(str);fflush(stdout);}while(0)  

posted @ 2013-11-13 17:22  kin2321  阅读(1084)  评论(1编辑  收藏  举报