I am trying to get my program to log the output of a console application to a text file before it quits. This is a GUI program which launches the console application (tool.exe). The problem is that I am using CTRL + C to quit the console application. This console application cant be altered either. I have tried a few ways of doing this but none have seemed to work ( tool.exe > output.txt ).

Can anyone point me in the right direction of which approach to take ? It would be greatly appreciated.

**EDIT:**

The file is created but it is empty and does not receive any data. The thing I am after noticing though is if I run the tool from the command line myself, it will work. Eg. `c:\>tool.exe > output.txt` However this is not working when its executed from my GUI application. 

Here is the code I am using to execute the tool:

```
    strcpy (tool, "\" start /D \"");
    strcat (tool, toolLocation);
    strcat (tool, "\" tool.exe > output.txt\"");
    system (tool);

```

This will run tool.exe and create output.txt fine but will not output anything to the file.

**EDIT2:**

I think what is actually happening is that because I am using `start` , the `>output.txt` is outputing `start` instead of `tool.exe`. This would explain why it creates the empty file. Start is just running a fresh command line which is then running `tool.exe`. The problem is, how do I get around this issue now ?