跳转到内容

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。

[编辑 | 编辑源代码]
华夏公益教科书