对于字符的读入,我们有scanf和cin这两个最为经典的函数,但是我们发现这两个函数写的都会比较麻烦或难看,而且耗费的时间复杂度较多。

而cstdio和conio.h头文件为了解决这个问题分别提供了两个函数——getch和getchar函数。

getch函数

所在头文件:conio.h

char ch = getch();

功能:getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回。输入的字符不会回显在屏幕上。getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行。

返回值:读入成功返回读取的字符。失败返回-1。

参数:无

getchar函数

所在头文件:cstdio

char ch = getchar();

功能:当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中)。当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符。并将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完后,才等待用户按键。

其实上下两行代码的意思是一样的

c = getchar();
scanf("%c", &c);

返回值:读入成功返回读取的字符。失败返回-1。

参数:无

运行实例

备注:getch与getchar的本质区别是只要键盘上某个按键被按下getch就返回,而getchar要等到有回车了开始读入。并且getch读入的字符是不显示在屏幕上的,而getcha是时显示的。

以下为代码

# include <cstdio>
# include <iostream>
# include <cmath>
# include <cstring>
# include <algorithm>
# include <conio.h>
using namespace std;# define FOR(i, a, b) for(int i = a; i <= b; i++)
# define _FOR(i, a, b) for(int i = a; i >= b; i--)int main()
{cout << "getch请输入一个字符:" << endl;char c = getch();cout << "读入的字符是" << c << endl; cout << "===================================" << endl; cout << "getchar请输入一个字符:" << endl;c = getchar();cout << "读入的字符是" << c << endl; return 0;
}

God Bless You For Ever!

C++字符读入函数(getchgetchar)相关推荐

  1. c int转字符串_【C++实现python字符串函数库】字符串匹配函数startswith与endswith

    [C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...

  2. R语言apropos函数查找包含特定字符的函数、find函数查找函数所在的位置实战

    R语言apropos函数查找包含特定字符的函数.find函数查找函数所在的位置实战 目录 R语言apropos函数实战 # 基本语法 #apropos函数 # find函数 apropos函数返回一个 ...

  3. python返回unicode_Python 中通过 unicode 码返回单字符的函数是 ,返回单字符 unicode 码的函数是 。_学小易找答案...

    [单选题]哪一个命令能用来查找在文件TESTFILE中只包含四个字符的行?( ) [单选题]修改以太网卡mac地址的命令为( ). [单选题]Python 字符串支持切片操作,如有字符串 s &quo ...

  4. 【 C 】字符分类函数

    标准库包含了两组函数,用于操作单独的字符,它们的原型位于头文件ctype.h中.第一组函数用于对字符分类,而第2组函数用于转换字符. 字符分类 每个分类函数接受一个包含字符值的整型参数.函数测试这个字 ...

  5. mbstowcs 和 wcstombs函数:C语言提供的宽字符和多字节字符转换函数

    C语言中的多字节字符与宽字符 字符型char只占八位,存储ascii码的,而宽字符型是为了存储多国语言的代码unicode,包括中文,法语德语什么的,8位256种不够用了 C语言原本是在英文环境中设计 ...

  6. ios查看ipa是否函数特定字符_iOS 中基础字符判断函数收集(如判断大小写、数字等)...

    函数:isdigit 用法:#include 功能:判断字符c是否为数字 说明:当c为数字0-9时,返回非零值,否则返回零. 函数:islower 用法:#include 功能:判断字符c是否为小写英 ...

  7. C语言再学习 -- ctype.h字符判断函数

    参看:ctype.h 百度百科 ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特 ...

  8. db2 replace函数的用法_SQL基础知识:常用字符处理函数

    原标题:SQL基础知识:常用字符处理函数 作者:丶平凡世界

  9. thinkphp字符截取函数msubstr()

    ThinkPHP有一个内置字符截取函数msubstr()如下: msubstr($str, $start=0, $length, $charset="utf-8″, $suffix=true ...

  10. c语言字符屏幕,C语言字符屏幕函数 - 编程资料 - Powered 万人网络编程学院 bcxy.yinese.com...

    Turbo C2.0的字符屏幕函数主要包括文本窗口大小的设定.窗口颜色的设置. 窗口文本的清除和输入输出等函数. 1.文本窗口的定义 Turbo C2.0默认定义的文本窗口为整个屏幕, 共有80列(或 ...

最新文章

  1. 最短路模板 - Floyd / Dijkstra
  2. java excel md5,excel表格数据md5加密-excel 怎么把文本转化成md5
  3. Unit Testing for WinForm
  4. 《Head first设计模式》学习笔记 – 迭代器模式
  5. SizeOf相关代码
  6. 排序算法第六篇——堆排序
  7. 麦咖啡McAfee 8.8企业版规则设置(高级篇)
  8. 如何搭建视频点播服务
  9. 极米、当贝、坚果3000内的投影仪有什么推荐?
  10. 内网穿透--五分钟完成搭建(从零开始)
  11. 客户端专项测试-启动时间测试
  12. WRKY转录因子通过促进GhMKK2介导的类黄酮生物合成调节棉花对尖孢镰刀菌的抗性
  13. 2007 Simulation message
  14. .Net CLR运行时是如何编译函数的
  15. chrome在新标签页打开_如何使用Google Chrome在计算机之间同步打开的标签页
  16. 中国队再创佳绩,IOI2018喜获四金
  17. 写【Python折线图】的一百个技巧(一、生成折线图网页)
  18. 解决方案 | 不论何时,保密之弦必须时刻绷紧
  19. 系统原型设计图工具--墨刀 使用
  20. RASNet阅读笔记:Learning Attentions: Residual Attentional Siamese Network for High Performance Online Vis

热门文章

  1. wps分析工具库如何加载_量化分析|TALib超好用的技术库,再给它封装一层如何!...
  2. 推荐 Word、EXCEL必备工具箱
  3. [NOIP2013 提高组] 花匠
  4. SQL server 2017安装教程
  5. Acrel-3200远程预付费电能管理系统的功能介绍
  6. EXCEL中制作省市区行政区地图
  7. 基于javaweb+SSM的药品管理系统(java+SSM+html+jQuery+Tomcat+mysql)
  8. 概率论——负二项随机变量
  9. emmx文件用什么软件打开电脑_电脑打开文件是用什么软件
  10. Quartus II 15详细安装教程