跳到主要内容

C++ getc() 函数

getc() 函数原型

int getc(FILE* stream);

getc() 函数接收一个文件流作为其参数,并返回该流中的下一个字符,字符以整数类型呈现。

getc() 与 fgetc() 的区别

C++ 中的 getc()fgetc() 函数几乎相似。然而,它们之间存在一些差异。

getc() 函数可以实现为宏,而 fgetc() 函数不能作为宏使用。

此外,getc() 函数进行了高度优化,因此相比于 fgetc(),调用 getc() 可能会更快。因此,在大多数情况下,更倾向于使用 getc()

它定义在 <cstdio> 头文件中。

getc() 参数

stream:要读取字符的文件流。

getc() 返回值

  • 成功时,getc() 函数返回读取的字符。
  • 失败时返回 EOF。
  • 如果失败是由文件末尾引起的,它设置 eof 指示符。
  • 如果失败是由其他错误引起的,它设置错误指示符。

示例:getc() 函数如何工作

#include <cstdio>

int main()
{
int c;
FILE *fp;

fp = fopen("file.txt", "r");

if (fp)
{
while(feof(fp) == 0)
{
c = getc(fp);
putchar(c);
}
}
else
perror("文件打开失败");
fclose(fp);
return 0;
}

当你运行程序时,可能的输出会是:

Hello World!