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)