getch()、getche()和getchar()函数
原文:getch()、getche()和getchar()函数
getch()、getche()和getchar()函数
(1) getch()和getche()函数
这两个函数都是从键盘上读入一个字符。其调用格式为:
getch();
getche();
两者的区别是:getch()函数不将读入的字符回显在显示屏幕上,而getche() 函数却将读入的字符回显到显示屏幕
上。
例1:
#include"stdio.h"
#include"conio.h"
void main()
{
char c, ch;
c=getch(); /*从键盘上读入一个字符不回显送给字符变量c*/
putchar(c); /*输出该字符*/
ch=getche(); /*从键盘上带回显的读入一个字符送给字符变量ch*/
putchar(ch);
}
利用回显和不回显的特点, 这两个函数经常用于交互输入的过程中完成暂停等功能。
例2:
#include"stdio.h"
#include"conio.h"
void main()
{
char s[];
printf("Name:");
gets(s);
printf("Press any key to continue...");
getch(); /*等待输入任一键*/
}
(2) getchar()函数
getchar()函数也是从键盘上读入一个字符, 并带回显。它与前面两个函数的区别在于: getchar()函数等待输入直
到按回车才结束, 回车前的所有输入字符都会逐个显示在屏幕上。但只有第一个字符作为函数的返回值。
例3:
- #include"stdio.h"
- #include"conio.h"
- void main()
- {
- char c;
- c=getchar(); /*从键盘读入字符直到回车结束*/
- putchar(c); /*显示输入的第一个字符*/
- getch(); /*等待按任一健*/
- }
例4:
- #include"stdio.h"
- #include"conio.h"
- void main()
- {
- char c;
- while ((c=getchar())!='\n') /*每个getchar()依次读入一个字符*/
- printf("%c",c); /*按照原样输出*/
- getch(); /*等待按任一健*/
- }
编程中,以防程序运行一闪即失,总是要在最后来一个“getch();”
getch()和getche()需要"conio.h"
附:
getch 从键盘无回显地读一字符
调用格式 #include"stdio.h"
int getch(void);
原型在 conio.h
说明 getch从键盘直接读一个字符,不回显到屏幕上。
返回值 getch返回从键盘所读的字符。
可移植性 getch只适用于DOS
getchar 从stdin流中取字符
调用格式 #include"conio.h"
int getchar(void);
原型在 stdio.h
说明 getchar是一个宏,用于返回指定的stdin输入流的下一个字符, 它定义为getc(stdin)。
返回值 调用成功时,getchar返回所读的字符,它已被转换为无符号扩展的整形值。在遇到文件结束或出错时,
返回EOF。
可移植性 getchar适用于UNIX系统,在ANSI C中定义,与Kernighan和Ritchie的定义兼容
getch()、getche()和getchar()函数的更多相关文章
- 区分getchar(),getch(),getche()三个函数:
区分getchar(),getch(),getche()三个函数: 第一行是手动输入的,第二行是printf输出的. getch()和getche()这两个函数使用时要包含conio.h头文件: ge ...
- C语言中getch()、getche()和getchar()
本文章为转载文章,文档贡献者wdzhangxiang 个人网址:www.baidu.com/p/wdzhangxiang 首先不要忘了,要用getch()必须引入头文件conio.h,以前学C语言的时 ...
- getchar() getch() getche() gets() puts() scanf()的用法及区别
getchar() putchar(ch) scanf() 头文件stdio.h getch() getche() 头文件conio.h gets() puts() 头文件stdio.h ...
- getch(),getche(),getchar()的区别
先说基本区别. (1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符.其调用格式为: getch(); getche(); 两者的区别是 ...
- getchar()函数的返回值赋给char型,用if(ch=getchar() != EOF)测试,输入ctrl+z同样可以结束循环的分析
2013-07-18 21:35:58 getchar()函数的返回值赋给char型,用if(ch=getchar() != EOF)测试,输入ctrl+z同样可以结束循环的分析. char是字符型数 ...
- 关于getchar函数缓冲区的问题
最近,看到有同学问我关于getchar()这个函数缓冲区的问题,结合我以前的学习,我将对getchar()进行一次总结,当然,这些都是别人已经提过的东西,我只是总结,接下来我们来看看. 首先,用get ...
- STM32—重定向printf和getchar函数到串口
在STM32测试串口的时候经常需要在开发板和上位机之间传输数据,我们可以用c语言中的printf()函数和getchar()函数来简化传输. 以printf()为例: printf()函数实际上是一个 ...
- cin,cin.get(),cin.getline(),gets(),getchar()函数的用法
1.cin>> 用法a:最基本的流输入用法,接受一个数字或字符,自动跳过输入的空格. 用法b:接受一个字符串,但是遇到除开头外的空格则会终止输入. #include<iostream ...
- scanf函数与getchar函数
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h&g ...
随机推荐
- iOS多用连接、反向协议、安全
资源 WWDC-2013-Session-708 BlackHat-US-2014-"It Just (Net)works" Understanding Multipeer Con ...
- HDOJ 5000 Clone
所有的属性,以满足一定的条件,是,财产和等于sum/2结果最大. Clone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536 ...
- BZOJ 2435 NOI2011 道路建设 BFS/DFS
标题效果:给定一个树(直接将树.不要贪图生成树图!).寻找每条边权值*分差的两侧之间 BFS水必须是能 竟DFS能够住...系统堆栈可能有些不够,我们可以使用内联汇编手册中大型系统堆栈 详见代码 这个 ...
- c#-RTF文本编辑器
1".RTF"什么? 多信息文本格式 (RTF) 是一种方便于不同的设备.系统查看的文本和图形文档格式. RTF 使用美国国内标准协会 (ANSI). PC-8. Macintos ...
- Vim 基本配置和经常使用的命令
vim 优势和应用场景 vim 的优点纯文字编辑和 Linux 完美的融合提供了命令行.只能假设 ssh 至server进行操作,那么这样的情况就仅仅能使用 vim 了.vim 也是最为强大的通用文本 ...
- 搞个这样的APP要多久? (转)
这是一个“如有雷同,纯属巧合”的故事,外加一些废话,大家请勿对号入座.开始了…… 我有些尴尬地拿着水杯,正对面坐着来访的王总,他是在别处打拼的人,这几年据说收获颇丰,见移动互联网如火如荼,自然也想着要 ...
- RH253读书笔记(10)-Appendix A Installing Software
Appendix A Installing Software Below are a few methods to locate and install required packages. You ...
- Linux进程的状态转换图
http://blog.csdn.net/mu0206mu/article/details/7348618 ◆运行状态(TASK_RUNNING) 当进程正在被CPU执行,或已经准备就绪随时可由调度程 ...
- 初识 Cloudera Impala
Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据.已有的Hive系统尽管也提供了SQL语义,但因为Hive底层 ...
- docker搭建基础的tomcat应用
tomcat server是眼下比較流行的开源中间件server,以下介绍怎样使用 docker 来做一个 tomcat 数据库服务.官方的仓里没有标 OFFICIAL 的 tomcat 的镜像,只是 ...