_getch, _getwch

エコーなしでコンソールから文字を取得します。

重要

この API は、Windows ランタイムで実行するアプリケーションでは使用できません。 詳細については、「ユニバーサル Windows プラットフォーム アプリでサポートされていない CRT 関数」を参照してください。

構文

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

戻り値

読み取られた文字を返します。 エラーの戻り値はありません。

解説

_getch_getwch の関数は、文字をエコーしないでコンソールから 1 文字を読み取ります。 関数キーまたは方向キーを読み取るには、各関数を 2 回呼び出す必要があります。 最初の呼び出しでは、 0 または 0xE0が返されます。 2 番目の呼び出しは、 キー スキャン コードを返します。

これらの関数は呼び出し元のスレッドをロックするため、スレッド セーフです。 ロックしないバージョンについては、「_getch_nolock_getwch_nolock」を参照してください。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。

汎用テキスト ルーチンのマップ

Tchar.h ルーチン _UNICODE_MBCS が定義されていない _MBCS が定義されている _UNICODE が定義されている
_gettch _getch _getch _getwch

要件

ルーチンによって返される値 必須ヘッダー
_getch <conio.h>
_getwch <conio.h> または <wchar.h>

互換性の詳細については、「 Compatibility」を参照してください。

// 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

関連項目

コンソール入出力とポート入出力
_getche, _getwche
_cgets, _cgetws
getc, getwc
_ungetch_ungetwch_ungetch_nolock_ungetwch_nolock