Pregunta

He estado leyendo y veo que puedo usar getch () para obtener una combinación de teclas. Lo que he visto es que esto se considera una mala práctica, sin embargo he visto opiniones contradictorias. Estoy escribiendo una aplicación de consola para mi clase y me gustaría ser capaz de mover un marcador (*) alrededor de la pantalla en función de las teclas de flecha que está pulsada. Es getch () de la manera correcta de hacer esto, o hay un método mejor para capturarlo. Quiero que acaba de ser capaz de empujar la flecha, no tiene que empujar entrar o nada. No necesito el código en concreto, sólo quiero saber si debo evitar getch (), y si es así, qué funciones están ahí para este tipo de idea.

¿Fue útil?

Solución

getch() no es una función estándar en C o C ++. Se encuentra en algunos compiladores obsoletos, tales como Turbo C y también se define en ciertas bibliotecas de uso común tales como maldiciones , pero en cualquier caso se trata de una función de C, C ++ no. Para C ++ se debe, probablemente, sólo se adhieren con C ++ estándar de E / S. Si no puede hacer esto por alguna razón, y luego ir por la opción más portátil, por ejemplo, maldiciones.

Otros consejos

Cuando se desea leer desde el terminal en modo no canónica. Uso tcsetattr () para apagar el indicador ICANON.

Uso getch () si funciona. ¿Por qué no?

En Windows, puede utilizar pdcurses: http://pdcurses.sourceforge.net/ , que es compatible con ncurses.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top