getchar函数,定义于C标准库头文件中。
int getchar(void)
该函数以无符号char强制转换为int的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回EOF。
(EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后
存在此字符表示资料结束。C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。)——百度百科
(补充:EOF根本不是一个字符,而是一个表示文件结束的信号,百度百科说错了。感谢lolilolikon指出)
以下是getchar读入单个字符的示例:
#include<stdio.h>
int main()
{
int test;
test=getchar();
printf("%d\n",test);
printf("%c\n",test);
return 0;
}
输入:
a
输出:
97
a
getchar读入字符'a',函数返回值为int型,也就是'a'所对应的ASCII码97,这个97再被赋予到int型变量test中。
下面是getchar读入一行的例子
#include<stdio.h>
char ch[1005];
int main()
{
int test;
int i=0;
while((test=getchar())!='\n')
{
ch[i]=test;
i++;
}
for(int j=0;j<i;j++)
printf("%c",ch[j]);
return 0;
}
输入:
abdcd
输出:
abdcd