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

How to add console window in Win32 Project, Visual Studio 2010

本文关键字:窗口 Visual Studio 2010 控制台 添加 Win32 项目      更新时间:2023-10-16

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

我要调试一些用控制台项目开发的库。我把这个添加到我的Win32项目中。

在Win32项目中添加控制台窗口有什么解决方案吗?

正如这篇博文中提到的(我是通过在Google中输入"add console to win32 project"找到的),您可以使用以下代码完成此操作:

#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(), ...
}