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。