函数
<cstdio>

fgetc

int fgetc ( FILE * stream );
从流中读取字符
返回指定的内部文件位置指示器当前指向的字符。然后,内部文件位置指示器会前进到下一个字符。

如果调用时流已到达文件末尾,函数将返回 EOF 并设置流的文件结束指示器(请参见 feof)。

如果发生读取错误,函数将返回 EOF 并设置流的错误指示器(请参见 ferror)。

fgetcgetc 等效,不同之处在于 getc 在某些库中可能被实现为宏。

参数

stream
指向标识输入流的 FILE 对象的指针。

返回值

成功时,返回读取到的字符(提升为int值)。
返回类型是int以容纳特殊值 EOF,它表示失败
如果位置指示器位于文件末尾,函数将返回 EOF 并设置文件结束指示器(请参见 feof)。
如果发生其他读取错误,函数也会返回 EOF,但会设置其错误指示符 (ferror)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* fgetc example: money counter */
#include <stdio.h>
int main ()
{
  FILE * pFile;
  int c;
  int n = 0;
  pFile=fopen ("myfile.txt","r");
  if (pFile==NULL) perror ("Error opening file");
  else
  {
    do {
      c = fgetc (pFile);
      if (c == '$') n++;
    } while (c != EOF);
    fclose (pFile);
    printf ("The file contains %d dollar sign characters ($).\n",n);
  }
  return 0;
}

此程序读取一个名为myfile.txt的现有文件,逐个字符地读取,并使用n变量来计算文件中包含多少个美元符号 ($) 文件包含的内容。

另见