_getch, _getwch

Obtiene un carácter de la consola sin repetición.

Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows.

Sintaxis

int _getch( void );
wint_t _getwch( void );

Valor devuelto

Devuelve el carácter leído. No se devuelve ningún error.

Comentarios

Las funciones _getch y _getwch leen un solo carácter de la consola sin repetir el carácter. Para leer una tecla de función o una tecla de dirección, se debe llamar a cada función dos veces. La primera llamada devuelve 0 o 0xE0. La segunda llamada devuelve el código de examen de clave.

Estas funciones bloquean el subproceso de llamada y, por lo tanto, son seguras para subprocesos. Para las versiones que no son de bloqueo, consulte _getch_nolock, _getwch_nolock.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Asignaciones de rutinas de texto genérico

Rutina Tchar.h _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_gettch _getch _getch _getwch

Requisitos

Routine Encabezado necesario
_getch <conio.h>
_getwch <conio.h> o <wchar.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

// crt_getch.c
// compile with: /c
// This program reads characters from
// the keyboard until it receives a 'Y' or 'y'.

#include <conio.h>
#include <ctype.h>

int main( void )
{
   int ch;

   _cputs( "Type 'Y' when finished typing keys: " );
   do
   {
      ch = _getch();
      ch = toupper( ch );
   } while( ch != 'Y' );

   _putch( ch );
   _putch( '\r' );    // Carriage return
   _putch( '\n' );    // Line feed
}
abcdefy
Type 'Y' when finished typing keys: Y

Consulte también

E/S de consola y puerto
_getche, _getwche
_cgets, _cgetws
getc, getwc
_ungetch, _ungetwch, _ungetch_nolock, _ungetwch_nolock