只有当Ctrl+Z单独位于一行的行首时,才表示输入的终止!(即无论何时,都推荐先回车,再Ctrl+Z,再回车结束输入)

当Ctrl+Z位于行中、行末时,输入都不会结束。

(Ctrl+Z表示一个字符,其ASCII码为26.)

1 int main()
2 {
3     vector<string>words;             //   (1)当输入为: 1 2 3 4 时,程序正常结束,输出为 4
4     string a;                        //                 ^z
5     while(cin >> a)
6         words.push_back(a);          //   (2)当输入为: 1 2 3 4 ^z 5 6时,程序并不会结束,此时回车再ctrl+z后才可以让程序结束,
7     cout << words.size();            //      但是输出为5,因为^z被当做字符处理。(只处理^z之前的字符)
8     return 0;
9 }

1 int main()
2 {
3     int a;
4     vector<int> v;
5     while(cin >> a)           //此处当Ctrl+Z在行末时也不会出错,因为此处需要输入的时int型整数,
6         v.push_back(a);       //但Ctrl+Z是一个字符,即错误输入(类型不匹配),故程序终止
7     cout << v.size();
8     return 0;
9 }

科普:

 Ctrl+Z表示一个字符,其ASCII码为26.

键盘上所有的键(包括组合键)都有自己的扫描码和ASCII码,这些扫描码和ASCII码是由键盘中断(int 16h)定义的。
windows系统中,单击 开始→运行,在“打开”框中输入:cmd /c debug,确定,进入debug调试程序,键入输入指令命令A并回车,然后输入:
mov ah,0
int 16
回车
g104
按CTRL+Z这时,AH=2ch,AL=1ah。AH的值就是CTRL+Z的扫描码,AL的值就是CTRL+Z的ASCII码。1ah是十六进制数,换算成十进制数就是26。

转载于:https://www.cnblogs.com/FengZeng666/p/9272979.html

C++ 对Ctrl+Z的解释相关推荐

  1. 关于 ctrl+z的用法解释

    在用c的scanf()里,用到文件结束符ctrl+z的话,返回值是-1: 在用c++的cin>>里,用到文件结束符crtl+z的话,返回值是0: 但是注意的是,在vs编译器里面,ctrl+ ...

  2. C#_解决在控制台中输入Ctrl+Z的问题

    本人在前几天做了一道题如下(在116行中用(int)cki.KeyChar==26解决了C#中在控制台捕捉Ctrl+Z): 解决的方法也是请教了老师,经老师调试过才得出的解决方法.(因在Console ...

  3. C++基础:[enter] Ctrl+Z [enter] 问题及\n输入输出问题

    首先来一段代码,引出问题: #include<iostream> #include<Windows.h>using namespace std;int main() {char ...

  4. C++下ctrl+z退出cin输入循环

    ctrl+z 退出输入的循环结构 测试的语言及工具 for循环 while循环 do while循环 进一步探究ctrl+z在变量内部储存为什么 几天后的继续 测试的语言及工具 C++ visual ...

  5. Ubuntu 系统 下 AndroidStudio 工具 使用ctrl+z 回退上一步的方法

    Ubuntu 系统 下使用 AndroidStudio 使用ctrl + z 不是回退上一步的方法 ,是把 as 工具返回home 了 如果想使用ctrl + z 实现回退上一步 ,可以把Ubuntu ...

  6. linux中ctrl+z和ctrl+c的区别

    ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. ctrl+c强制中断程序 ctrl+z的是将任务中断,挂起的状态, ctrl+c是强制中断程序的执行,而ctrl+z的是将任务中断. ...

  7. Ctrl + z 和 Linux jobs

    最近在使用 star agent 的过程中,颇感 webssh 开窗口不太方便,不像原本在本地用的多窗口工具那么方便.不过在使用 Ctrl + z 和 linux 本身的 jobs 命令之后,这个情况 ...

  8. getchar()函数的返回值赋给char型,用if(ch=getchar() != EOF)测试,输入ctrl+z同样可以结束循环的分析...

    2013-07-18 21:35:58 getchar()函数的返回值赋给char型,用if(ch=getchar() != EOF)测试,输入ctrl+z同样可以结束循环的分析. char是字符型数 ...

  9. linux 后台任务 前台任务 查看切换终止开始命令 bg、fg、ctrl+z、ctrl+d和ctrl+c 简介

    fg.bg.jobs.&.ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的 一.& 最经常被用到 这个用在一个命令的最后,可以把这个命令 ...

  10. linux中ctrl+z 、ctrl+c、 ctrl+d区别

    ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.   ctrl+c是强制中断程序的执行,,进程已经终止.   ctrl+z的是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进 ...

最新文章

  1. C++ 虚函数表解析
  2. Codeforces Round #253 (Div. 1) A. Borya and Hanabi 暴力
  3. rhel7搭建可用实验环境
  4. 自训练 + 预训练 = 更好的自然语言理解模型
  5. mysql中字符串拼接函数_MySQL字符串连接函数
  6. 一个不错的局域网聊天工具之飞鸽传书下载地址
  7. windows 搜索文件
  8. linux配置conf_如何使用mssql-conf和其他可用工具在Linux上配置SQL Server 2017
  9. JAVA加载一个目录下有依赖关系本地库的通用代码
  10. 网络安全审核(ISO 19011)
  11. 实现表格隔行变色研究
  12. 我国学生被美深泉学院录取 每周20小时放牛种草
  13. mysql ndb存储引擎_ndb 存储引擎
  14. 软考·系统架构师论文——论软件的高并发设计
  15. java中关于死锁的概念和实例操作
  16. 捷报 | 美格智能Cat.1模组SLM332中标中国电信定制版Cat.1模组产品招募
  17. 循环卷积的计算方法:对位相加-附Matlab实操代码
  18. Azkaban (二) --------- Azkaban 入门
  19. 2021年制冷与空调设备运行操作考试报名及制冷与空调设备运行操作免费试题
  20. 极路由s1有wds_极路由极壹S评测:内置网速限制 需购SD卡

热门文章

  1. jio tomcat_透过Jio Glass看
  2. oracle如何修改字段为空的为0,Oracle中字段为空处理成0
  3. dsp 有fft程序吗_Python 中 FFT 快速傅里叶分析
  4. 新高考计算机学业水平考试,新高考对学业水平测试的要求
  5. java是否存在引用传递_Java永远不会传递引用,对吧?
  6. java提供两种处理异常的机制_Java的异常机制分析及处理办法
  7. BPSK、8PSK、QPSK、16QAM、64QAM区别与联系
  8. 第 4 章 容器 - 030 - 实现容器的底层技术
  9. mgo02_mongodb启动警告处理
  10. JSF+Spring+Hibernate整合要点