Ну, во-первых, если собираешься использовать std::sin, то int hCrt = _open_osfhandle((long)
GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
*stdout = *(::_fdopen(hCrt, "w"));
::setvbuf(stdout, NULL, _IONBF, 0);
*stderr = *(::_fdopen(hCrt, "w"));
::setvbuf(stderr, NULL, _IONBF, 0); лишнее.
А коль уж у тебя есть хандл окошка, то сама собой напрашивается функция ReadConsole. Или ReadConsoleInput.
Гугель, т.е. тьфу ты, МСДН тебе в помощь.
Правка.
А может, и нет. Я, кажется, так делал - в главном цикле стояла функция проверки, есть ли нажатая клавиша именно этими функциями.
Самый простой способ подключить обычную консоль:
#pragma comment (linker, "/SUBSYSTEM:CONSOLE")
... и заменить WinMain() на main()
Wraith
>... и заменить WinMain() на main()
не обязательно
Trinimac
> не обязательно
Ну ты бы проверил что ли...
Wraith
проверил и отлично работает что ли
попробуй сам:
#pragma comment (linker, "/SUBSYSTEM:CONSOLE") #pragma comment ( linker, "/ENTRY:WinMainCRTStartup")
>#pragma comment (linker, "/ENTRY:WinMainCRTStartup")
Э, ну дык это ж то же самое, что заменить winmain на main.
Wraith
это указание компилятору сделать входной точкой в программу функцию WinMain
что-то не так?
facepalm.jpg
Wraith
это ты себе фейспалм?
правильно
AllocConsole() и все проблемы решены. Не знаю, что вы тут ещё мутите. Какие нафиг прагмы? Засуньте их подальше.
Не, не, не. Вот такое не работает :
#include <Windows.h>
#include <iostream>
using namespace std;
int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd ) {
AllocConsole();
cout << endl;
int x;
cin >> x;
return 0;
}В-общем, я обычно не парю себе мозг и создаю консольное приложение в студии, в котором можно чудесно виндовые окошки создавать при необходимости.
Zefick
>AllocConsole() и все проблемы решены. Не знаю, что вы тут ещё мутите. Какие нафиг прагмы? Засуньте их подальше.
Фу ты ну ты, и в чем профит от твоего аллока?
А какой профит именно от стандартной консоли? Немодальное окошко с листбоксом и полем ввода успешно её заменяет безо всяких плясок с параллельным тредом и т.п.
Тема в архиве.