c语言get函数的用法:int getche(void)
从控制台读取一个字符,把该字符显示在屏幕上,也就是回显。
getche()和getch()很相似,不同之处就在于getch()无返回显示,getche()有返回显示。
main()
{
int c;
printf("getchar:");
c=getchar();//缓冲,回显
printf("%c\n",c);
printf("getch:");
c=getch();//不缓冲,不回显
printf("%c\n",c);
printf("getche:");
c=getche();//不缓冲,回显
printf("%c\n",c);
}
特别注意:如果输入的是Enter键,缓冲的输入函数 getchar 会把它当'\n',而不缓冲的输入函数 getche 和getch 是把它当'\r'。
main()
{
int c;
printf("getchar:");
c=getchar();//缓冲,回显
printf("%d",c);
printf("\ngetch:");
c=getch();//不缓冲,不回显
printf("%d",c);
printf("\ngetche:");
c=getche();//不缓冲,回显
printf("%d",c);
}
运行结果分析:
(1)程序运行后,首先打印 getchar:,等待输入。此时,按Enter键,由于getchar 将其当作'\n'并且回显,因此换行并打印'\n'的ASCII码10。
(2)然后,程序换行打印 getch:,并等待输入。此时,按Enter键,由于getch 将其当作'\r'并且不回显,因此不回车,而在后面接着打印'\r'的ASCII码13。
(2)接下来,程序换行打印 getche:,并等待输入。此时,按Enter键,由于getche 将其当作'\r'并且回显,因此回到本行开头,打印'\r'的ASCII码13。
最后结果:
getchar:
10
getch:13
13
c语言get函数的用法:int fgetc(FILE * stream)
与getc()作用相同,但有几点区别:
(1)getc(可以是)宏操作,fgetc(必须)是函数。
(2)fgetc()可以当作其他函数的参数,但是getc()不可以。
一般来讲getc()速度比fgetc()快,因为宏操作比函数操作快。
c语言get函数的用法:int fgetchar(void)
与getchar()作用相同。两者区别可参考 fgetc 和fgetc 之间的区别。