我有一个批处理文件,我正在执行我的c ++应用程序。
执行类似于
program.exe arguments >log.log 2>&1
运行正常,但日志文件和cmd窗口中缺少日志记录。当我删除重定向时,cmd执行窗口中缺少的日志 。此外,如果我在Visual Studio中运行该程序,则执行窗口中不会丢失输出。
在这种情况下,我注意到的消息是简单的printf()语句,但我怀疑可能还有其他消息丢失(它是一个大型企业系统)。
这看起来很奇怪,有什么想法吗?
感谢。
答案 0 :(得分:1)
Dataknife,是对的。我添加了
fflush(stdout中);
并且输出显示在定向输出中。
谢谢!