当通过ST的构建系统运行应用程序时,它只在应用程序退出后显示控制台输出,它还会发布完成所花费的时间。 有没有办法实时显示输出,就像普通控制台一样?
cout < text < endl;
[do something for 5 secs];
5secs后:
text
[Finished in 5.0s]
答案 0 :(得分:1)
OdatNurd's comment explained it perfectly. 缓冲确实是罪魁祸首。我从来没有接触过关于字符如何被缓冲和刷新到输出的整个主题。实现控制台并不像我想象的那么简单。 在C设置
setbuf(stdout, NULL);
一次或致电
fflush(stdout); (which is a bit cleaner)
每次printf解决了一切之后!