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.
Output
Input was: Line one.