2014-03-24 24 views
0

此代碼在gcc下編譯時使用-mwindows,沒有winapi錯誤消息。我在win32窗口專用的應用程序中創建了一個新的控制檯,控制檯已創建,但沒有任何打印。

#include <windows.h> 
#include <stdio.h> 

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR, int nCmdShow) { 
    AllocConsole(); 
    printf("%s\n", "sample text"); 
    return 0; 
} 

結果是控制檯是空的,沒有文字,沒有錯誤信息。

+0

你可能需要頂「打開」'stdout'到'「CON: 「(或類似的東西)。 –

+0

嗯,我嘗試了很多選擇,一切都歸咎於此,因爲代碼沒有效果。所以我發佈了行爲發生的最簡單的例子。 – rsk82

+2

如何更改爲控制檯子系統?那麼你不必介意你自己的控制檯...... – Deduplicator

回答

1

用途:

freopen("CONOUT$", "wb", stdout); 

重新打開stdout您已經創建控制檯後。如果你打算使用它輸入過,那麼你需要:

freopen("CONIN$", "rb", stdin); 

和標準錯誤,可能需要開太:

freopen("CONOUT$", "wb", stderr); 
相關問題