李成笔记网

专注域名、站长SEO知识分享与实战技巧

浅析C语言getchar()、getche()和getch()函数的区别

getchar()函数是C语言专门为输入单个字符而提供的,getchar()函数是从I/O字符流中读取一个字符,必须输入换行才能读入字符。

getche()、getch()函数也是读入单个字符,是从控制台直接读取一个字符,无须换行即可读入字符。

getchar()是C的标准库函数,包含在头文件<stdio.h>中。

而getche()和getch()需要的头文件是<conio.h>。conio.h不是C标准库中的头文件。conio是ConsoleInput/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作。

getchar()函数从键盘读入字符时,输入的字符带回显,并且必须等到输入换行(按Enter键)才能读取一个字符。

getche()函数从键盘读入字符时,输入的字符会回显到显示屏上,但是无须输入换行即可读取一个字符。

getch()函数从键盘读入字符时,输入的字符不回显到显示屏上,但是无须输入换行即可读取一个字符。

运行下列3个程序,从键盘输入:abcde,观察运行结果截图,体会getchar()、getche()、getch()函数的区别。

#include<stdio.h>

int main(void)

{

char ch;

int i;

for(i=0;i<5;i++)

{

ch=getchar(); //带回显,且等待按Enter键换行

printf("%c",ch);

}

return 0;

}

#include<stdio.h>

#include<conio.h>

int main(void)

{

char ch;

int i;

for(i=0;i<5;i++)

{

ch=getche(); //带回显

printf("%c",ch);

}

return 0;

}

#include<stdio.h>

#include<conio.h>

int main(void)

{

char ch;

int i;

for(i=0;i<5;i++)

{

ch=getch(); //不带回显

printf("%c",ch);

}

return 0;

}

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言