此代码在gcc下使用-mwindows
编译,没有winapi错误消息。
#include <windows.h>
#include <stdio.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPTSTR, int nCmdShow) {
AllocConsole();
printf("%s\n", "sample text");
return 0;
}
结果是控制台为空白,没有文本,没有错误消息。
答案 0 :(得分:1)
使用:
freopen("CONOUT$", "wb", stdout);
在创建控制台后重新打开stdout
。如果您打算也将它用于输入,那么您需要:
freopen("CONIN$", "rb", stdin);
和stderr也可能需要打开:
freopen("CONOUT$", "wb", stderr);