getch与getchar区别
getch():
所在头文件:conio.h
函数用途:从控制台读取一个字符,但不显示在屏幕上
getchar():
所在头文件:stdio.h
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,
只要用户按一个键,getch就立刻返回, getch返回值是用户输入的ASCII码,出错返回-.
输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示
有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行. 易错点:
.所在头文件是conio.h。而不是stdio.h。
.在使用之前要调用initscr(),结束时要调用endwin()。否则会出现不输入字符这个
函数也会返回的情况。
.在不同平台,输入回车,getch()将返回不同数值,而getchar()统一返回10(即\n)
)windows平台下ENTER键会产生两个转义字符 \r\n,因此getch返回13(\r)。
)unix、 linux系统中ENTER键只产生 \n ,因此getch返回10(\n)。
)MAC OS中ENTER键将产生 \r ,因此getch返回13(\r)。
getch();并非标准C中的函数,不存在C语言中。所以在使用的时候要注意程序的可移
植性。国内C语言新手常常使用getch();来暂停程序且不知道此函数来源,建议使用getchar();
如果情况允许)代替此功能或更换一款编译器。
getch与getchar区别的更多相关文章
- getch()和getchar()之再讨论
原文:getch()和getchar()之再讨论 在C语言的字符处理函数中,getch()和getchar()是经常让人迷惑的两个函数,他们都有一些“奇怪的”特点让初学者摸不着头脑.两个函数有很多相似 ...
- getch(),getche(),getchar()的区别
先说基本区别. (1) getch()和getche()函数 这两个函数都是从键盘上读入一个字符.其调用格式为: getch(); getche(); 两者的区别是 ...
- getch 和 getchar 在 windows 和 unix下的区别
注意getch()是从console读取,(非标准函数) getch()需要的头文件是<conio.h>. 而getchar()是从stdin,一般是指键盘 windows平台下ENTER ...
- getch和getchar的区别
造冰箱的大熊猫@cnblogs 2018/11/30 1.getc() 头文件:stdio.h 函数声明:int getc ( FILE * stream ); 功能: - 返回流(stream)当前 ...
- scanf 与getchar区别
#include<stdio.h> void main() { int c; c=getchar(); //scanf("%c",&c); if(c!=' ...
- gets()和getchar()还有getch()的区别
getch()和getchar()区别:1.getch(): 所在头文件:conio.h 函数用途:从控制台读取一个字符,但不显示在屏幕上例如: char ch;或int ch: getch();或c ...
- getchar getche getch的区别
getchar 由宏实现:#define getchar() getc(stdin). getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘 ...
- gets、scanf和getchar之间的区别
gets gets.scanf和getchar之间的区别 1. gets函数读取数据时,接受的数据包括数据和回车符.即:读取数据后输入流没有输入 操作动作. 2. scanf函数读取数据时,接受的数据 ...
- getchar、getch、getche 与 gets()
一.getchar.getch.getche 1.getchar() getchar()从输入缓冲区读入一个字符,并返回这个字符的ASCII码(即函数返回值为int型),出错返回-1(EOF):如果用 ...
随机推荐
- std::function 使用_
#include <iostream> #include <functional> //函数指针写法 typedef int(*FuncPoint)(const int& ...
- 命令行 AppleScript 操控 iTerm2
AppleScript 是什么? AppleScript 是 macOS 下可用于操控其他软件的脚本语言. 参考链接:https://www.iterm2.com/documentation-scri ...
- python 常用模块之os
1.权限判断 bool: os.access('/python/test.py',os.F_OK) #是否存在 bool: os.access('/python/test.py',os.R_OK) # ...
- UITextView默认文字提示
在UITextField中自带placeholder属性,可以用于提示输入框信息.但是UITextView并不具备此功能介绍两种方法来实现:第一种:初始化UITextView//首先定义UITextV ...
- 秋色园QBlog技术原理解析:性能优化篇:缓存总有失效时,构造持续的缓存方案(十四)
转载自:http://www.cyqdata.com/qblog/article-detail-38993 文章回顾: 1: 秋色园QBlog技术原理解析:开篇:整体认识(一) --介绍整体文件夹和文 ...
- bzoj千题计划167:bzoj3527: [Zjoi2014]力
http://www.lydsy.com/JudgeOnline/problem.php?id=3527 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 以n=4为例: ...
- sublime text3 最常用的快捷键及插件
A:最常用的快捷键 Tab:自动补齐代码 <!--div+Tab 其它标签一样--><div></div> emmet常用的使用方法 <!--ul>li ...
- Linux学习2-fork
复制进程映像 fork() 要想让进程同时执行多个函数,我们可以使用线程或从源程序中创建一个完全分离的进程,后者就像init的做法一样,而不像exec调用那样用新程序替换当前指向的线程. 我们可以通过 ...
- 正则表达式 grep文本查询 sed流处理 应用
一.正则表达: ^:以什么什么开头,^a:以a字符开头 $:以什么什么结尾,b$:以b字符结尾 *:左边字符0-无穷个 +:左边字符1-无穷个 .:代表单字符 ?:前导字符为零个或1个 {n}:左面字 ...
- ConcrrentSkipListMap介绍和原理分析
一.前言: JDK为我们提供了很多Map接口的实现,使得我们可以方便地处理Key-Value的数据结构. 当我们希望快速存取<Key, Value>键值对时我们可以使用HashMap. 当 ...