if(freopen("e:\\lstm-comparec\\lstm\\lstm\\output.txt","a",stdout)==NULL)
fprintf(stderr,"errorredirectingstdout\n");
fclose(stdout);
重新打开:
windows:
freopen("CON", "w", stdout);
linux
freopen("/dev/stdout","w",stdout);
在ecplise下使用cdt开发c程序,发现运行后终端没有输出,停止后会输出,通过在main中添加
setbuf(stdout,NULL);
解决问题,原来是因为默认输出流存在buffer机制,通过上面语句, 取消buffer
fflush(stdout);
取消C程序输出缓冲解决办法
本文介绍了解决Eclipse CDT环境下C程序输出延迟的问题。通过取消输出流的缓冲机制,即在main函数中使用setbuf(stdout, NULL)语句,解决了程序运行时终端无实时输出的情况。
664

被折叠的 条评论
为什么被折叠?



