GUI and Console are generally incompatible concepts. A GUI application does not use the Console, and vice versa.
(Not really true, but generally. You can get a console in any application using the Windows API "
AllocConsole")
The Windows console is "CMD.exe", and your application does not create it, it runs inside it.
By default, Windows will launch CMD when you run a console application and then close it immediately when the application terminates. If you don't want this to happen, start CMD first and then run your application from the command line.
STDOUT goes to the console, STDERR to the Windows debugging system. You can redirect STDERR to a file or elsewhere if you want - see the MSDN for details.
Most IDEs have viewers for STDERR.
"
DEBUGVIEW" may be useful, though I'm not certain if STDERR goes there as I don't use STDERR directly, but use a framework debug that compiles appropriately depending on the target.
- Note: This will show the output from all running applications! You'll want to filter a bit to see just your stuff.
If you are writing a GUI application, I strongly recommend using C++ and either Qt or wxWidgets as the C bindings for the Windows API are horrible, and you'll spend longer figuring out why the GUI doesn't work than on your program logic.