fgetc()和getc()用法是相同的,没有任何区别,getc()是宏定义函数,都是从流中读取一个字符。

从stdio流中读字符,相当于getc(stdin),它从标准输入里读取下一个字符。

在C语言中,用函数getc(或fgetc)从文件读取 字符。getc、fgetc用法相同。
getc的调用形式:ch=getc(fp);此处的fp是 文件指针;函数功能是从文件指针指向的文件读入一个字符,并把它作为函数值返回给int型 变量ch。
一个比较详细的程序例:
把一个已存在磁盘上的file_a.dat文本文件中的内容,原样输出到屏幕上
程序执行步骤:
①打开文件
②从指定文件中读入一个字符
③判断读入的是否是文件结束标志,若是,结束循环,执行步骤⑦。
④把刚从文件中读入的 字符输出到终端屏幕。
⑤从文件中再读入一个字符。
⑥重复步骤③至⑤。
⑦正确关闭文件。
#include<stdio.h>
#include<stdlib.h>
void main()
{
FILE *fp;
char ch;
if((fp=fopen("D:\\file_a.dat","w"))==NULL)
{
printf("Cannot open this file!\n");
exit(0);
}
ch=getchar();
for(;ch!='@';)/*创建文件并由用户输入 字符,以@为输入结束标志*/
{
fputc(ch,fp);
ch=getchar();
}
fclose(fp);
if((fp=fopen("D:\\file_a.dat","r"))==NULL)
{
printf("Cannot open this file!\n");
exit(1);
}
ch=fgetc(fp);
for(;ch!=EOF;)
{
putchar(ch);
ch=fgetc(fp);
}
fclose(fp);
}
程序例:
#include <stdio.h>
int main(void)
{
char ch;
printf("Input a character:");
/* read a character from the
standard input stream */
ch = getc(stdin);
printf("The character input was: '%c'\n",
ch);
return 0;
}