C++ 对Ctrl+Z的解释
只有当Ctrl+Z单独位于一行的行首时,才表示输入的终止!(即无论何时,都推荐先回车,再Ctrl+Z,再回车结束输入)
当Ctrl+Z位于行中、行末时,输入都不会结束。
(Ctrl+Z表示一个字符,其ASCII码为26.)
int main()
{
vector<string>words; // (1)当输入为: 1 2 3 4 时,程序正常结束,输出为 4
string a; // ^z
while(cin >> a)
words.push_back(a); // (2)当输入为: 1 2 3 4 ^z 5 6时,程序并不会结束,此时回车再ctrl+z后才可以让程序结束,
cout << words.size(); // 但是输出为5,因为^z被当做字符处理。(只处理^z之前的字符)
return ;
}
int main()
{
int a;
vector<int> v;
while(cin >> a) //此处当Ctrl+Z在行末时也不会出错,因为此处需要输入的时int型整数,
v.push_back(a); //但Ctrl+Z是一个字符,即错误输入(类型不匹配),故程序终止
cout << v.size();
return ;
}
科普:
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。
C++ 对Ctrl+Z的解释的更多相关文章
- source vs export AND ctrl d vs ctrl z
在脚本中export,只在当前shell脚本进程和子进程中有效 source的作用中是将export的变量在当前脚本环境生效, 如果是在父脚本中执行source,在子脚本中执行export, 父脚本退 ...
- c++中while(cin>>str)和ctrl z的相关问题探讨
对于while (cin>>str)和ctrl z的问题,网上有以下解释: -------------------------------------------------------- ...
- Linux Ctrl+c与ctrl+z的区别
提问:CTRL-Z和CTRL-C区别?回答:CTRL-Z和CTRL-C都是中断命令,但是他们的作用却不一样.CTRL-C是强制中断程序的执行,而CTRL-Z的是将任务中断,但是此任务并没有结束,他仍然 ...
- linux中终端控制键Ctrl+C,Ctrl+Z,Ctrl+D的使用场合
1.Ctrl+C比较暴力,就是发送Terminal到当前的程序,比如你正在运行一个查找功能,文件正在查找中,Ctrl+C就会强制结束当前的这个进程.2.Ctrl+Z是把当前的程序挂起,暂停执行这个程序 ...
- ctrl+c,ctrl+d,ctrl+z在linux中意义
ctrl+c,ctrl+d,ctrl+z在linux中意义 ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样. ctrl+c是强制中断程序的执行. ctrl+z的是将任务中断 ...
- bg,fg,ctrl+z组合
使用ctrl + Z 把一个进程挂起 [root@limt ~]# sh Testlsof.sh >111.log ^Z [1]+ Stopped sh Testlsof.sh > 111 ...
- linux 后台运行进程 fg bg ctrl+z nohup
fg.bg.jobs.&.nohup.ctrl+z.ctrl+c 命令 一.& 加在一个命令的最后,可以把这个命令放到后台执行,如 watch -n 10 sh test.sh &am ...
- ctrl + z fg bg
[root@bass ~]# jobs [1]+ Stopped vncviewer 192.168.1.17:5904 [root@bass ~]# #ctrl + z [root@bass ~]# ...
- fg、bg、jobs、&、ctrl + z
原文地址:fg.bg.jobs.&.ctrl + z 作者:china-yuan http://blog.chinaunix.net/uid-22433093-id-1774026.html ...
随机推荐
- android ContentObserver内容观察者基本使用
package com.example.observertest; import android.content.ContentResolver; import android.database.Co ...
- C - Musical Theme (后缀数组)
题目链接:https://cn.vjudge.net/contest/283743#problem/C 题目大意:给你n个数组,然后问你是否有多个“相似”且不重叠的子串的长度大于等于5(两个子串相似当 ...
- C - Least Crucial Node
题目链接:https://cn.vjudge.net/contest/247936#problem/C 具体大意:给你起点和中点,总点数,边数.求到终点的最小割点. 具体思路:可以用tarjan算法来 ...
- Fragment与Activity之间的相互通信
https://blog.csdn.net/u012702547/article/details/49786417 https://blog.csdn.net/carson_ho/article/de ...
- linux 网卡
查看网卡UUID:nmcli con show 或 nmcli con list 查看网卡mac地址:nmcli dev show 或 nmcli dev list 注:sho ...
- ubuntu 禁用自带的nouveau显卡驱动,安装NVIDIA显卡驱动
下载显卡驱动 进入Nvidia的官网,找到对应GTX 750显卡的Linux 64-bit 的驱动程序,然后下载 当点击下载链接后,发现浏览器一直在加载那个*.run文件,很久都加载不完.这时将浏览器 ...
- python3字符串与文本处理
每个程序都回涉及到文本处理,如拆分字符串.搜索.替换.词法分析等.许多任务都可以通过内建的字符串方法来轻松解决,但更复杂的操作就需要正则表达式来解决. 1.针对任意多的分隔符拆分字符串 In [1]: ...
- vsftpd控制用户禁止访问上级目录 只能访问自己目录
涉及文件: vsftpd.conf chroot_list_file=/etc/vsftpd.chroot_list 如果设置为 chroot_local_user=YES chroot_list_e ...
- pom.xml的第一行报错
第一行:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or ...
- 前端web服务器数据同步方案
概述: 网站采用了web和mysql数据库分离的架构,前端有web1.web2.web3需要对他们进行上传文件同步 方案: 在web2的windows服务器上安装GoodSync软件,利用其双向同步特 ...