我在win32仅限窗口的应用程序中创建了一个新控制台,创建了控制台,但没有任何内容可以打印出来

时间:2014-03-24 22:46:57

标签: c++ winapi console

此代码在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;
}

结果是控制台为空白,没有文本,没有错误消息。

1 个答案:

答案 0 :(得分:1)

使用:

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

在创建控制台后重新打开stdout。如果您打算也将它用于输入,那么您需要:

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

和stderr也可能需要打开:

freopen("CONOUT$", "wb", stderr);
相关问题