_getche, _getwche

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

重要

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

構文

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

戻り値

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

解説

_getche 関数と _getwche 関数は、エコーありでコンソールから 1 文字を読み取ります。つまり、その文字がコンソールに表示されます。 これらの関数のいずれも Ctrl + C の読み取りに使用することはできません。 関数キーまたは_getwche方向キーを読み取る場合_getche、関数を 2 回呼び出す必要があります。最初の呼び出しは 0 または0xE0を返し、2 番目の呼び出しは実際のキー コードを返します。

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

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

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

Tchar.h のルーチン _UNICODE_MBCS が定義されていない _MBCS が定義されている _UNICODE が定義されている
_gettche _getche _getche _getwche

必要条件

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

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

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

関連項目

コンソールとポート I/O
_cgets, _cgetws
getc, getwc
_ungetch, _ungetwch, _ungetch_nolock, _ungetwch_nolock