_getche, _getwche

Obtém um caractere do console com eco.

Importante

Esta API não pode ser usada em aplicativos executados no Windows Runtime. Para obter mais informações, confira Funções do CRT sem suporte em aplicativos da Plataforma Universal do Windows.

Sintaxe

int _getche( void );
wint_t _getwche( void );

Valor retornado

Retorna o caractere lido. Não há retorno de erro.

Comentários

As funções _getche e _getwche leem um único caractere no console com eco, o que significa que o caractere é exibido no console. Nenhuma dessas funções pode ser usada para ler CTRL+C. Quando _getche ou _getwche lê uma chave de função ou uma tecla de seta, a função deve ser chamada duas vezes; a primeira chamada retorna 0 ou 0xE0 e a segunda chamada retorna o código de chave real.

Essas funções bloqueiam o thread de chamada e, portanto, são thread-safe. Quanto às versões sem bloqueio, consulte _getche_nolock, _getwche_nolock.

Por padrão, o estado global dessa função tem o aplicativo como escopo. Para alterar esse comportamento, consulte Estado global no CRT.

Mapeamentos de rotina de texto genérico

Rotina Tchar.h _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_gettche _getche _getche _getwche

Requisitos

Rotina Cabeçalho necessário
_getche <conio.h>
_getwche <conio.h> ou <wchar.h>

Para obter mais informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

// crt_getche.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 = _getche();
      ch = toupper( ch );
   } while( ch != 'Y' );

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

Confira também

E/S de console e porta
_cgets, _cgetws
getc, getwc
_ungetch, _ungetwch, _ungetch_nolock, _ungetwch_nolock