共用方式為


getc getwc

從資料流讀取字元。

int getc( 
   FILE *stream 
);
wint_t getwc( 
   FILE *stream 
);

參數

  • stream
    輸入資料流。

傳回值

傳回讀取的字元。 表示讀取的錯誤或檔案結尾的條件, getc會傳回EOF,和getwc會傳回WEOF。 對於getc,使用ferror或feof來檢查錯誤或檔案結尾。 如果stream是NULL, getc和getwc中所述,叫用無效的參數處理常式中, 參數驗證。 如果執行則允許繼續執行,則這些函數會傳回EOF (或WEOF的getwc),並設定errno到EINVAL。

請參閱 _doserrno、 errno、 _sys_errlist,以及 _sys_nerr 如需有關這些項目,以及其他] 下,錯誤代碼。

備註

每個常式單一字元從檔案中讀取目前位置和遞增值相關聯的檔案指標 (如果有定義) 以指向下一個字元。 與檔案關聯stream。

這些函式呼叫的執行緒的鎖定,因此執行緒安全。 非鎖定版本,請參閱_getc_nolock _getwc_nolock

請依照下列常式特有的 「 備註 」。

常式

備註

getc

相同的fgetc,但實作函式,而是巨集。

getwc

寬字元版本的getc。 讀取多位元組字元或萬用字元給是否根據stream在文字模式或 binary 模式開啟。

泛用文字常式對應

TCHAR。H 常式

_UNICODE & 未定義的 _MBCS

定義的 _MBCS

定義 _unicode 之後

_gettc

getc

getc

getwc

需求

常式

所需的標頭

getc

<stdio.h>

getwc

<stdio.h> 或者 <wchar.h>

其他的相容性資訊,請參閱相容性在簡介中。

範例

// crt_getc.c
// Use getc to read a line from a file.

#include <stdio.h>

int main()
{
    char buffer[81];
    int i, ch;
    FILE* fp;
    
    // Read a single line from the file "crt_getc.txt". 

    fopen_s(&fp, "crt_getc.txt", "r");
    if (!fp)
    {
       printf("Failed to open file crt_getc.txt.\n");
       exit(1);
    }

    for (i = 0; (i < 80) && ((ch = getc(fp)) != EOF)
                         && (ch != '\n'); i++)
    {
        buffer[i] = (char) ch;
    }
       
    // Terminate string with a null character 
    buffer[i] = '\0';
    printf( "Input was: %s\n", buffer);

    fclose(fp);
}

輸入: crt_getc.txt

Line one.
Line two.

5231d02a.collapse_all(zh-tw,VS.110).gifOutput

Input was: Line one.

.NET Framework 對等用法

請參閱

參考

資料流 I/O

fgetc fgetwc

_getch _getwch

putc putwc

ungetc ungetwc