C 程式設計/stdio.h/getc
外觀
getc 是字元輸入函式之一。getc 從檔案讀取下一個字元,它接收指向檔案的指標。它是讀取檔案的簡單函式。
與 getchar 一樣,getc() 可能被實現為宏而不是函式。getc 等效於 fgetc。getc 從 fp 指向的流中返回下一個字元;對於檔案結束或錯誤,它返回 EOF。
int getc( FILE * stream);
這裡,引數 stream 是指向 FILE 物件的指標,該物件標識要執行操作的流。
/*getc 示例*/
#include <stdio.h>
int main()
{
FILE *fp;
int c;
int n = 0;
fp = fopen("myfile.txt", "r");
if(fp == NULL)
perror ("Error opening file");
else
{
do {
c = getc(fp);
if(c == '#')
n++;
}
while(c != EOF);
fclose(fp);
printf ("File contains %d#.\n",n);
}
return 0;
}
上面的程式逐字元讀取名為 myfile.txt 的檔案,並使用 n 變數計算檔案中包含的 '#' 字元的數量。
讀取的字元以 int 值返回。
如果遇到檔案結束或讀取錯誤,函式將返回 EOF 以及相應的錯誤指示符。我們可以使用 ferror 或 feof 來確定是否發生了錯誤或到達了 EOF。