我试图让我的程序在退出之前将控制台应用程序的输出记录到文本文件中。这是一个启动控制台应用程序 (tool.exe) 的 GUI 程序。问题是我正在使用 CTRL + C 退出控制台应用程序。此控制台应用程序也无法更改。我尝试了几种方法,但似乎都没有奏效( tool.exe > output.txt )。
谁能指出我采取哪种方法的正确方向?这将不胜感激。
编辑:
该文件已创建,但它是空的并且不接收任何数据。不过,我注意到的是,如果我自己从命令行运行该工具,它将起作用。例如。c:\>tool.exe > output.txt
但是,当它从我的 GUI 应用程序执行时,这不起作用。
这是我用来执行该工具的代码:
strcpy (tool, "\" start /D \"");
strcat (tool, toolLocation);
strcat (tool, "\" tool.exe > output.txt\"");
system (tool);
这将运行 tool.exe 并正常创建 output.txt,但不会向文件输出任何内容。
编辑2:
我认为实际发生的事情是因为我正在使用start
,所以>output.txt
正在输出start
而不是tool.exe
. 这可以解释为什么它会创建空文件。Start 只是运行一个新的命令行,然后运行tool.exe
. 问题是,我现在该如何解决这个问题?