对于getch,getche,getchar三者的认识
转载自:http://hi.baidu.com/lfmdrcyterbafiq/item/9bc44a423b2067e7bcf451cb
对于getch,getche,getchar三者的认识
调用getch,getche,必须包含头文件conio.h,否则在用vc编译时提示“找不到标识符”
getch,getche,getchar
共同点:都是读入一个字符
不同点:
1、getch读入字符后不会将字符回显到屏幕,而getche、getchar二者有回显;
2、getchar等待输入直到按回车才结束(即使输了N多字符,但没按回车,程序还是处于输入等待状态), 同时,回车前的所有输入字符都会逐个显示在屏幕上,但只有第一个字符作为函数的返回值;getch,getche,二者在用户输入一个字符后(包括 回车)就结束输入;
下面是一个功能测试程序:
#include<stdio.h>
#include<conio.h>
int main()
{
char c;
c=getch(); /*从键盘上读入一个字符不回显送给字符变量c*/
putchar(c); /*输出该字符*/
printf("\nnext one\n");
c=getche(); /*从键盘上带回显的读入一个字符送给字符变量ch*/
putchar(ch);
printf("下一个\n");
c=getchar();
putchar(c);
putchar('\n');
return 0;
}
输出结果为:
在C++中,若看输出结果,不能再使用C中的 getch() 函数,而是用 _getch() 代替.