跳轉到內容

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。

[編輯 | 編輯原始碼]
華夏公益教科書