It's not "extra stuff", it's part of the code you need. It's not just one line to do this - it's about 15-20 lines. So you need all of this:
Code:
// Code supplied by LuckY
#include <iostream>
#include <windows.h>
bool keyHit(void)
{
HANDLE stdIn = GetStdHandle(STD_INPUT_HANDLE);
DWORD saveMode;
GetConsoleMode(stdIn, &saveMode);
SetConsoleMode(stdIn, ENABLE_PROCESSED_INPUT);
bool ret = false;
if (WaitForSingleObject(stdIn, 1) == WAIT_OBJECT_0) ret = true;
SetConsoleMode(stdIn, saveMode);
return(ret);
}
bool getChar(TCHAR &ch)
{
bool ret = false;
HANDLE stdIn = GetStdHandle(STD_INPUT_HANDLE);
DWORD saveMode;
GetConsoleMode(stdIn, &saveMode);
SetConsoleMode(stdIn, ENABLE_PROCESSED_INPUT);
if (WaitForSingleObject(stdIn, INFINITE) == WAIT_OBJECT_0)
{
DWORD num;
ReadConsole(stdIn, &ch, 1, &num, NULL);
if (num == 1) ret = true;
}
SetConsoleMode(stdIn, saveMode);
return(ret);
}
TCHAR getChar(void)
{
TCHAR ch = 0;
getChar(ch);
return(ch);
}
int main(void)
{
std::cout << "Press a key" << std::endl;
getChar();
std::cout << "Done" << std::endl;
}
--
Mats