将STDOUT重定向到文件时缺少输出

时间:2013-09-09 19:58:57

标签: c++ windows batch-file cmd dos

我有一个批处理文件,我正在执行我的c ++应用程序。

执行类似于

program.exe arguments >log.log 2>&1

运行正常,但日志文件和cmd窗口中缺少日志记录。当我删除重定向时,cmd执行窗口中缺少的日志 。此外,如果我在Visual Studio中运行该程序,则执行窗口中不会丢失输出。

在这种情况下,我注意到的消息是简单的printf()语句,但我怀疑可能还有其他消息丢失(它是一个大型企业系统)。

这看起来很奇怪,有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

Dataknife,是对的。我添加了

  

fflush(stdout中);

并且输出显示在定向输出中。

谢谢!