getchar、getch、getche 与 gets()

一、getchar、getch、getche

1、getchar()

getchar()从输入缓冲区读入一个字符,并返回这个字符的ASCII码(即函数返回值为int型),出错返回-1(EOF);如果用户输入了不止一个字符,则其他字符会保存在键盘缓冲区等待getchar函数调用。

2、getch() 、getche()、getchar()区别

getch()、getche()与getchar功能相同,区别是:

getch不带回显,且不需要用户按回车就可显示;

getche带回显,且不需要用户按回车就可显示;

getchar()带回显,但是需要用户按回车才能显示,可以输入一串字符,但只返回第一个字符的ASCII;

getch和getche调用格式 #include <stdio.h>

getchar调用格式 #include <conio.h>

3、程序示例1--三者区别

 # include <stdio.h>
# include <conio.h> int main()
{
char c;
c = getch(); //getch不带回显,用户按E,屏幕只会显示一个E(输出的E);
//用户只能输入一个字符,马上显示
putchar(c); c = getche(); //getche带回显,用户按E,屏幕会显示两个E(一个是输入的E,一个是输出的E)
//用户只能输入一个字符,马上显示
putchar(c); c = getchar(); //getchar不仅带回显,而且输入E后,需要按回车,才能显示第二个E
//用户可以输入一串字符,但只返回第一个字符
putchar(c); return ;
}

4、程序示例2--利用getch函数不带回显实现暂停功能

 # include <stdio.h>
# include <conio.h> int main()
{
char str[];
gets(str);
getch(); //用getch实现暂停,防止程序一闪而退,此处必须要任意按下一个键程序才结束。
//一般不用getche,因为getche带屏显,会把你任意按的字符显示在屏幕上
return ;
}

二、gets()

getchar、getch、getche三个函数的调用方式都是  函数名(),没有形参

gets函数调用方式为  gets(字符数组名或指针)

gets函数和scanf函数比较见下篇

上一篇:easyui Tree模拟级联勾选cascadeCheck,节点选择,父节点自动选中,节点取消,父节点自动取消选择,节点选择,所有子节点全部选择,节点取消,所有子节点全部取消勾选


下一篇:gets() 、 getchar() 、 getch() 、getche()、gets()、 scanf()的区别