Я использую Eclipse CDT (Helios) для C / C ++ в Windows 7 x64.Сначала у меня возникла проблема с тем, что вывод не появлялся при запуске в консоли Eclipse до тех пор, пока программа не завершилась, хотя она работала во время работы в консоли Windows.Я обнаружил, что это связано с буферизацией в потоке stdout.Мне удалось отключить буферизацию с помощью следующего:
setvbuf(stdout, NULL, _IONBF, 0);
Но теперь я не могу понять, почему kbhit () всегда возвращает 0, даже когда в консоли нажимаются клавиши.Я попытался отключить буферизацию на stdin:
setvbuf(stdin, NULL, _IONBF, 0);
Но это не дало эффекта.Моя программа является оболочкой приложения.Я использую kbhit () и getch () для чтения ввода, который работает, когда программа запускается в консоли Windows, но не в консоли Eclipse.Что мне здесь не хватает?