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 ...
随机推荐
- 【Java基础】选择排序、冒泡法排序、二分法查找
1.选择排序: //改进后的选择排序,减少交换的次数 public static void sortSelect(int arr[]) { //用于存放最小数的下标 int s; for (int i ...
- java.lang.VerifyError
public class VerifyErrorextends LinkageError Thrown when the "verifier" detects that a cla ...
- .net与Java的WebService互调
本文记录一下.net与Java是如何进行Web Service的互相调用的. 1.准备工作 MyEclipse 10 JDK 1.6.0_13 Visual Studio 2012 .net fram ...
- 13 于C#如何获得在IP住址
首先,需要加入一个命名空间 using System.Net.NetworkInformation; using System.Net.Sockets; 以下是具体代码 GetPrivateIP(); ...
- 中文乱码?不,是 HTML 实体编码!(转)
在 如何用 Nodejs 分析一个简单页面 一文中,我们爬取了博客园首页的 20 篇文章标题,输出部分拼接了一个字符串: var $ = cheerio.load(sres.text); var an ...
- Eclipse SDK构建J2EE开发环境
鄙视官Java EE Developers 体积庞大的兄弟们可以提出自己的J2EE开发环境! 1.第一次去Eclipse官网下载Eclipse IDE 我使用的是:Eclipse IDE for Ja ...
- 获得span里面价值(在特殊情况下 )
如何获得A? <div class="warpper"> <span class="content"> A <span>12 ...
- cocos2d 消除类游戏简单的算法 (一)
1. 游戏视频演示 2.三消游戏我的理解 上面视频中的游戏.我做了2个星期时间,仅仅能算个简单Demo,还有bug.特效也差点儿没有.感觉三消游戏主要靠磨.越磨越精品. 市场上三消游戏已经超级多了.主 ...
- java.lang.Runnable接口
大家都知道使用线程的2种方式,一是继承Thread类,二是实现Runnable接口.实际上,即使你实现了Runnable接口,终于还是要构造一个Thread类的对象.看过Thread源码发现,事实上这 ...
- poj3417 Network 树形Dp+LCA
题意:给定一棵n个节点的树,然后在给定m条边,去掉m条边中的一条和原树中的一条边,使得树至少分为两部分,问有多少种方案. 神题,一点也想不到做法, 首先要分析出加入一条边之后会形成环,形成环的话,如果 ...