Как добавить окно консоли в проект Win32, Visual Studio 2010

#c #visual-studio-2010 #winapi #windows-console

#c #visual-studio-2010 #winapi #windows-консоль

Вопрос:

Я собираюсь добавить окно консоли в проект Win32, Visual Studio 2010. ОС: Windows XP (64-разрядная версия)

Я собираюсь отладить некоторую библиотеку, разработанную с помощью консольного проекта. Я добавляю это в свой проект Win32.

Есть ли какое-либо решение для добавления окна консоли в проект Win32?

Комментарии:

1. попробовал, но я не получил правильной публикации. Я знаю, что мой вопрос уродлив.

Ответ №1:

Как упоминалось в этом сообщении в блоге (которое я нашел, введя «добавить консоль в проект win32» в Google), вы можете выполнить это с помощью следующего кода:

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