getchar
, getwchar
標準入力から文字を読み取ります。
構文
int getchar();
wint_t getwchar();
戻り値
読み取られた文字を返します。 これらの関数では入力を待機し、入力が使用可能になるまで戻りません。
読み取りエラーまたはファイルの終端状態を示すために、getchar
は EOF
を返し、getwchar
は WEOF
を返します。 getchar
の場合、ferror
または feof
を使用して、エラーまたはファイルの終端を確認します。
解説
各ルーチンは stdin
から 1 つの文字を読み取り、関連付けられたファイル ポインターが次の文字を指すようにそのポインターをインクリメントします。 getchar
は _fgetchar
と同じですが、関数およびマクロとして実装されます。
また、これらの関数では、呼び出し元スレッドがロックされるため、スレッド セーフです。 ロックしないバージョンについては、「_getchar_nolock
、_getwchar_nolock
」を参照してください。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
汎用テキスト ルーチンのマップ
TCHAR.H ルーチン |
_UNICODE と _MBCS が定義されていない |
_MBCS が定義されている |
_UNICODE が定義されている |
---|---|---|---|
_gettchar |
getchar |
getchar |
getwchar |
要件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
getchar |
<stdio.h> |
getwchar |
<stdio.h> または <wchar.h> |
ユニバーサル Windows プラットフォーム (UWP) アプリではコンソールがサポートされていません。 コンソール (stdin
、stdout
、stderr
) に関連付けられている標準ストリームのハンドルは、C ランタイム関数によって UWP アプリで使用される前に、リダイレクトする必要があります。 互換性の詳細については、「 Compatibility」を参照してください。
例
// crt_getchar.c
// Use getchar to read a line from stdin.
#include <stdio.h>
int main()
{
char buffer[81];
int i, ch;
for (i = 0; (i < 80) && ((ch = getchar()) != EOF)
&& (ch != '\n'); i++)
{
buffer[i] = (char) ch;
}
// Terminate string with a null character
buffer[i] = '\0';
printf( "Input was: %s\n", buffer);
}
This textInput was: This text
関連項目
ストリーム入出力
getc
, getwc
fgetc
, fgetwc
_getch
, _getwch
putc
, putwc
ungetc
, ungetwc