如何在Win32 Project,Visual Studio 2010中添加控制台窗口

时间:2014-06-25 02:16:41

标签: c++ visual-studio-2010 winapi windows-console

我要在Win32 Project,Visual Studio 2010中添加控制台窗口。 操作系统:Windows XP(x64位)

我要调试一些用console项目开发的库。 我将这个添加到我的Win32项目中。

是否有任何解决方案可以将控制台窗口添加到Win32项目中?

1 个答案:

答案 0 :(得分:5)

this blog post中所述(我通过在Google中输入“将控制台添加到win32项目中”),您可以使用以下代码完成此操作:

#include <stdio.h>
#include <io.h>
#include <fcntl.h>

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
    AllocConsole();

    HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE);
    int hCrt = _open_osfhandle((long) handle_out, _O_TEXT);
    FILE* hf_out = _fdopen(hCrt, "w");
    setvbuf(hf_out, NULL, _IONBF, 1);
    *stdout = *hf_out;

    HANDLE handle_in = GetStdHandle(STD_INPUT_HANDLE);
    hCrt = _open_osfhandle((long) handle_in, _O_TEXT);
    FILE* hf_in = _fdopen(hCrt, "r");
    setvbuf(hf_in, NULL, _IONBF, 128);
    *stdin = *hf_in;

    // use the console just like a normal one - printf(), getchar(), ...
}