getchar, getwchar

標準入力から文字を読み取ります。

構文

int getchar();
wint_t getwchar();

戻り値

読み取られた文字を返します。 これらの関数では入力を待機し、入力が使用可能になるまで戻りません。

読み取りエラーまたはファイルの終端状態を示すために、getcharEOF を返し、getwcharWEOF を返します。 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) アプリではコンソールがサポートされていません。 コンソール (stdinstdoutstderr) に関連付けられている標準ストリームのハンドルは、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