Нужно прочесть нажатие клавиши в цикле. Пробовал примерно так:
while(true){
if(std::getchar() == 's') // не работает
...
char c;
std::cin>>c// не работает
if(c=='s')
...
}
Эти варианты требуют нажатия клавиши Enter по окончанию ввода.
Доп потоков для считывания ввода создавать не нужно. Так же нужно чтобы считывание клавиши не требовало подтверждения нажатия Enter. Как можно это сделать?
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
#include <fcntl.h>
int mygetch()
{
struct termios oldt,
newt;
int ch;
tcgetattr( STDIN_FILENO, &oldt );
newt = oldt;
newt.c_lflag &= ~( ICANON | ECHO );
tcsetattr( STDIN_FILENO, TCSANOW, &newt );
ch = getchar();
tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
return ch;
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей