Share via


getchar, getwchar

從標準輸入讀取字元。

語法

int getchar();
wint_t getwchar();

傳回值

傳回讀取的字元。 這些函式會等候輸入,直到輸入可用後才會傳回。

若要表示讀取錯誤或檔案結尾條件,getchar 會傳回 EOF,而getwchar 會傳回 WEOF。 針對 getchar,請使用 ferrorfeof 來檢查錯誤或檔案結尾。

備註

每個常式從 stdin 讀取單一位元組,並遞增相關聯的檔案指標以指向下一個字元。 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 應用程式中使用這些控制碼。 如需相容性詳細資訊,請參閱相容性

範例

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

另請參閱

資料流 I/O
getc, getwc
fgetc, fgetwc
_getch, _getwch
putc, putwc
ungetc, ungetwc