Pergunta

Eu tenho lendo algumas lendo e vejo que posso usar getch () para obter um pressionamento de tecla. O que eu vi é que isso é considerado uma prática ruim, no entanto, vi opiniões conflitantes. Estou escrevendo um aplicativo de console para minha classe e gostaria de poder mover um marcador (*) pela tela com base nas teclas de seta que estão sendo pressionadas. É getch () o caminho certo para fazer isso ou existe um método melhor para capturá -lo. Eu quero que eles possam apenas empurrar a flecha, não precisam empurrar Enter ou qualquer coisa. Não preciso do código especificamente, só quero saber se devo evitar getch () e, em caso afirmativo, quais funções existem para esse tipo de idéia.

Foi útil?

Solução

getch() não é uma função padrão em C ou C ++. É encontrado em alguns compiladores obsoletos, como Turbo c e também é definido em certas bibliotecas comumente usadas, como maldições, mas, de qualquer forma, é uma função C, não C ++. Para C ++, você provavelmente deve ficar com a E/S padrão C ++. Se você não pode fazer isso por algum motivo, opte pela opção mais portátil, por exemplo, maldições.

Outras dicas

Você deseja ler do terminal no modo não canônico. Use tcsetattr () para desligar o sinalizador ICANON.

Use getch () se funcionar. Por que não?

No Windows, você pode usar PDCurses: http://pdcurses.sourceforge.net/, isso é compatível com Ncurses.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top