_getch、_getwch、_getche、_getwche

Visual Studio .NET 2003

コンソールから文字を取得します。_getch および _getchw はエコーせず、_getche および _getwche はエコーします。

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

戻り値

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

解説

_getch 関数および _getwch 関数は、コンソールから 1 文字分読み出しますが、エコーしません。_getche および _getwche は、コンソールから 1 文字分読み出し、読み出した文字をエコーします。これらの関数はいずれも、Ctrl + C キーの読み出しには使用できません。ファンクション キーまたは方向キーを読み出すときは、各関数を 2 回呼び出す必要があります。最初の呼び出しは、0 または 0xE0 を返し、2 回目の呼び出しは実際のキー コードを返します。

ジェネリック テキスト ルーチンの割り当て

TCHAR.H のルーチン _UNICODE および _MBCS が未定義の場合 _MBCS が定義されている場合 _UNICODE が定義されている場合
_gettch _getch _getch _getwch
_gettche _getche _getch _getwche

必要条件

ルーチン 必須ヘッダー 互換性
_getch <conio.h> Win 98、Win Me、Win NT、Win 2000、Win XP
_getche <conio.h> Win 98、Win Me、Win NT、Win 2000、Win XP
_getwch <conio.h> または <wchar.h> Win 98、Win Me、Win NT、Win 2000、Win XP
_getwche <conio.h> または <wchar.h> Win 98、Win Me、Win NT、Win 2000、Win XP

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

ライブラリ

C ランタイム ライブラリのすべてのバージョン。

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

入力

abcdey

出力

Type 'Y' when finished typing keys: Y

参照

コンソール入出力とポート入出力 | _cgets | getc | _ungetch、_ungetwch | ランタイム ルーチンおよび同等の .NET Framework 関数

表示: