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 指示符。
    • 如果失败是由其他错误引起的,它会设置 error 指示符。

示例: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("File opening failed");
    fclose(fp);
    return 0;
}

运行程序时,可能的输出是

Hello World!

另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战