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!
另请阅读