2009-11-24 130 views
2

在Windows下創建C++控制檯應用程序時,會自動爲您創建控制檯窗口,並將std :: cout輸出到控制檯窗口。將std :: cout重定向到新創建的控制檯

我有一個GUI應用程序,我也想創建一個控制檯窗口。我可以使用AllocConsole()函數創建控制檯窗口,但是如何將std :: cout重定向/附加到控制檯,以便輸出顯示在控制檯窗口中?

回答

0

據我所知,您不能將標準手柄重定向到新控制檯。您必須撥打GetStdHandle(DWORD)才能獲得要寫入的每個設備的句柄。使用這個句柄,你需要用適當的句柄來調用WriteFile,ReadFile,WriteConsole和ReadConsoleInput函數來傳遞數據。

3

你想使用GetStdHandle和SetStdHandle。鑑於這是一個很長很長的時間,因爲我已經做了類似的話,你會更好看一些Some examples

也有這個duplicate question