1 getchar()
函数名: getchar
功 能: 从stdin流中读字符
用 法: int getchar(void);
所在头文件:stdio.h
程序例:
#include <iostream>
using namespace std;
#include <stdio.h>
int main()
{
char c;
while ((c = getchar()) != '/n')
{
cout<<c;
}
return 0;
}
2 getch()
函数名: getch
功 能: 从控制台无回显地取一个字符
用 法: int getch(void);
所在头文件:conio.h
程序例:
#include <iostream>
using namespace std;
#include <conio.h>
int main()
{
char ch;
cout<<"Please input a character.";
ch = getch();
cout<<"/nYou input a character:"<<ch<<endl;
return 0;
}
3 getche()
函数名: getche
功 能: 从控制台有回显地取一个字符
用 法: int getche(void);
所在头文件:conio.h
程序例:
#include <iostream>
using namespace std;
#include <conio.h>
int main()
{
char ch;
cout<<"Please input a character:";
ch = getche();
cout<<"/nYou input a character:"<<ch<<endl;
return 0;
}
4 三者之间的区别
getch() 无回显,无须回车
getche() 有回显,无须回车
getchar() 有回显,须回车
5 重点讲下gechar()
不管输入多少字符,只有当输入回车符后才会开始取已输入的第一个字符给变量,若循环处理的话就会取之前输入的内容的下一个字符。getchar()永远只向缓存中输入一个字符,对于getchar()函数确实可以接受任何一个字符(不知道那些虚拟键能不能用哦,比如说F1等,这还有待考证),包括空格,回车等符号,与cin不同,cin 会自动把控制符作为输入界限。因getchar()能够接受任何字符,故在按回车时,并不会有任何输出,而需要一个条件限制,如用 while (a != ‘/r’)。
getchar()只能输出一个字,要输出多个就用gets。
getchar()的用法很多。一种是清空回车符,这种情况一般发生在在循环中涉及到输入的情况;还有一种是某些编译平台(IDE)在运行程序时并没有在程序运行后给人看结果的时间,这时候,在程序最后加上getchar()就能造成程序的暂停,可给程序员看结果的机会。