下面这代码按下Ctrl+z结束while输入后,接下来的cin >> val2就无法输入了
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <typeinfo> using namespace std; int main()
{
vector<int> vi;
int val;
while (cin >> val)
vi.push_back(val);
int val2;
cout << "Please enter the integers that you want to seek:" << endl;
cin >> val2;
cout << "The sequence contains " << (count(vi.cbegin(), vi.cend(), val2)) << " " << val2 << endl; return 0;
}

必须在结束while后加一条cin.clear()才能正常运行(注意:要先按回车,再按ctrl+z,因为ctrl+z位于行首才表示结束输入,否则只会被当成一个字符来处理,Ctrl+z的ASCII码是26)

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <typeinfo> using namespace std; int main()
{
vector<int> vi;
int val;
while (cin >> val)
vi.push_back(val);
int val2;
cin.clear();
cout << "Please enter the integers that you want to seek:" << endl;
cin >> val2;
cout << "The sequence contains " << (count(vi.cbegin(), vi.cend(), val2)) << " " << val2 << endl; return 0;
}

https://www.cnblogs.com/hubavyn/p/3996413.html节选自此博客

关于按下ctrl+z后,之后的cin失效的问题的更多相关文章

  1. -XX:-PrintClassHistogram 按下Ctrl+Break后,打印类的信息

    -XX:+PrintClassHistogram –按下Ctrl+Break后,打印类的信息: num     #instances         #bytes  class name ------ ...

  2. C++ 输入ctrl+z 不能再使用cin的问题

    问题介绍: 程序步骤是开始往容器里面写数据,以Ctrl+Z来终止输入流,然后需要输入一个数据,来判断容器中是否有这个数据. 源代码如下: #include<iostream> #inclu ...

  3. linux在命令执行过程中ctrl +z 后[1]+ Stopped

    进程挂起 stopped 代表有进程挂起 [1]是id号 可以通过Linux命令:jobs 查看挂起进程 fg 1 把任务1放到前台 bg 1 把任务1放到后台

  4. linux中ctrl+z、ctrl+d和ctrl+c的区别

    ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.ctrl+c是强制中断程序的执行,而ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用f ...

  5. Linux中ctrl+z 、ctrl+c、 ctrl+d区别

    ctrl+c,ctrl+d,ctrl+z在linux程序中意义和区别 ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.   ctrl+c是强制中断程序的执行,,进程已经终止.   ct ...

  6. c++中while(cin>>str)和ctrl z的相关问题探讨

    对于while (cin>>str)和ctrl z的问题,网上有以下解释: -------------------------------------------------------- ...

  7. Linux学习笔记(16)Linux前后台进程切换(fg/bg/jobs/ctrl+z)

    关键词:Linux前后台进程切换,linux进程切换 fg.bg.jobs.&.ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的一.& ...

  8. ctrl+c,ctrl+d,ctrl+z在linux中意义

    ctrl+c,ctrl+d,ctrl+z在linux中意义   ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.   ctrl+c是强制中断程序的执行.   ctrl+z的是将任务中断 ...

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

    ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.ctrl+c是强制中断程序的执行,而ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用f ...

随机推荐

  1. 简述react、redux、react-redux、redux-saga、dva之间的关系

    [react] 定位:React 是一个用于构建用户界面的JavaScript库. 特点:它采用声明范式来描述应用,建立虚拟dom,支持JSX语法,通过react构建组件,能够很好的去复用代码: 缺点 ...

  2. Ubuntu18--使用vi编辑器方向键以及Backspace乱码问题

    解决方法一: 可以进入vi /etc/vim/vimrc.tiny目录对vim配置文件进行修改 修改内容: 修改完成就可以正常使用了.(换行的时候Esc退出编译状态,回车换行,输入第二句话,在按Esc ...

  3. Unbuntu--安装VMware Tools

    实现虚拟机Ubuntu窗口自适应,以及与本地主机粘贴复制 一.安装VMware Tools 1.首先在虚拟机点击安装VMware tools,会在个人home目录下生成VMwareTools-10.3 ...

  4. 洛谷题解 P1744 【采购特价商品】

    原题传送门 题目描述 中山路店山店海,成了购物狂爱与愁大神的"不归之路".中山路上有n(n<=100)家店,每家店的坐标均在-10000~10000之间.其中的m家店之间有通 ...

  5. final 和 static之间的区别和联系

    关键字final和关键字static两者的含义并不相似,但是笔者常常使用一段时间后就会忘记它们之间的区别,因为它俩总是相伴着出现.当只出现其中一个时,就对其代表的含义不甚清晰了.故而特地将相关知识点记 ...

  6. WPF 释放嵌入资源

    资源文件名称:默认命名空间.文件名 || 默认命名空间.文件夹名.文件名 /// <summary> /// 提取文件 /// </summary> /// <param ...

  7. Dynamics CRM 365中结合注释和WebApi实现图片上传

    首先需要在实体上使用注释,然后在窗体上引用WebResource. WebResource的代码: <!DOCTYPE html> <html> <head> &l ...

  8. exsi 6.7u2 不能向winows虚拟机发送ctrl+alt+del

    1. 遇到过可以安装它的浏览器插件启动控制台登录就可以了. 2. 下载官方的客户机远程工具“VMware vSphere Client”才行. 3. 直接选择alt+del+insert 键盘即可代替 ...

  9. Lombok 详解

    简介 lombok是一个编译级别的插件,它可以在项目编译的时候生成一些代码.通俗的说,lombok可以通过注解来标示生成getter settter等代码. 引入 创建gradle项目 compile ...

  10. FastDFS 单机部署指南

    简介 FastDFS是一个开源的分布式文件系统,官方介绍有详细的介绍,不多赘述.本文主要是FastDFS的搭建及采坑指南. Step By Step Guide 系统 阿里云ECS Ubuntu 16 ...