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