当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ getc()用法及代码示例


C++ 中的getc() 函数从给定的输入流中读取下一个字符。它可以实现为宏。

getc()原型

int getc(FILE* stream);

getc() 函数将文件流作为其参数,并将给定流中的下一个字符作为整数类型返回。

getc() 和 fgetc() 之间的区别

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

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

此外 getc() 函数经过高度优化,因此对 fgetc() 的调用可能比对 getc() 的调用花费更长的时间。因此,在大多数情况下,getc() 是首选。

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

参数:

stream :读取字符的文件流。

返回:

  • 成功时,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("File opening failed");
    fclose(fp);
    return 0;
}

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

Hello World!

相关用法


注:本文由纯净天空筛选整理自 C++ getc()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。