关于两次使用getline()只能输入一次的问题

用了两次getline()函数 调试的时候发现第一次根本没有接受输入直接返回ming字串为“”
而第二次可以输入一行字串以回车结束 是为什么呢??

 while (cin >> choice){
        if (choice == 1){
            cout << "输入明文:\n";
            string ming;
            getline(cin, ming);
            cin.sync();
            cout << "输入密文:\n";
            string mi;
            cin.sync();
            getline(cin, mi);       
            string str = miyao(ming, mi);
            cout << "求出的密钥为:\n";
            printstr(str);
        }
        ……
        }
0

2个回答

cin >> choice之后还有一个回车在缓冲区中。

1
RaspberryMonster
cyannnn 谢谢哈!
3 年多之前 回复

楼上说的很对,可以试试cin.ignore()语句清空缓冲区

1
RaspberryMonster
cyannnn 谢谢~
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
getline函数输入要击两次回车的解决办法
这个getline函数输入要击两次回车的解决办法不错..有点实用
键盘只能输入一个字符,只能删除一个字符
你是无意中启动了键盘筛选键功能,里面有个选项功能是启动回弹键,若启动后会忽略重复的击键的~ 位置:win7-->轻松访问-->访问中心-->启动轻松访问键,把里面的启动筛选键选项的‘对勾’去掉,然后确定就OK了。
使用ifstream和getline读取文件内容[c++]
使用ifstream和getline读取文件内容[c++],简单地介绍了一下如何配合使用两者来读取文件内容。
[web]web 九宫格解锁
web 九宫格解锁 两次输入,一次校验
UART08 GETLINE
UART08 GETLINE c51 串口 输入
getline函数示例用法
较简单的程序代码,示例了getline函数使用技巧
回调函数被连续执行两次或多次的原因
回调函数被连续执行两次或多次的原因: 根本原因:回调函数的事件预订【+=】语句被执行了两次或多次。 实例:移动web页的代码页类MobileDefault的Page_Init事件过程,包含的InitializeComponent()连续出现了两次并被执行了两次,而InitializeComponent()函数内包含有事件预订语句,这些事件预订语句同时被执行了两次,从而导致事件回调函数连续被执行了两次。
两次请求相同的一个URL,会产生缓存问题。
两次请求相同的一个URL,会产生缓存问题。 博文链接:https://weiye.iteye.com/blog/100470
在vue中使用axios作交互时,为什么会调用两次接口
原来在 CORS-跨域资源共享 中,可以使用 OPTIONS 方法发起一个预检请求,以检测实际请求是否可以被服务器所接受。预检请求报文中的 Access-Control-Request-Method 首部字段告知服务器实际请求所使用的 HTTP 方法;Access-Control-Request-Headers 首部字段告知服务器实际请求所携带的自定义首部字段。服务器基于从预检请求获得的信息来判断,是否接受接下来的实际请求。览器先询问服务器,当前网页的域名是否在服务器的许可名单之中,及可以使用哪些HTTP动词和头信息字段。只有得到肯定答复,浏览器才会发出正式的XMLHttpRequest请求,否则就报错。 当你的Content-Type设置为“application/json;charset=utf-8”并自定义请求头可能就会导致这种情况。但并不会产生什么影响。
VB 无论程序放在任何地方,程序只能运行一次
无论程序放在任何地方,程序只能运行一次,防止程序重复执行。
spring定时任务执行两次的异常排查处理
一个tomcat下部署了两个应用,一个是普通web应用syncc,另一个应用syncc_wx属于微信公众号后台程序涉及消息定时推送,tomcat未分离之前消息推送正常,若将syncc_wx应用分离部署到另外一个tomcat后消息推送功能表现异常:利用消息模板推送消息给公众号关注用户时,每次用户会收到两条重复的数据(即一条消息推送了两次) ”spring定时任务执行两次的异常排查处理.docx"针对上述描述问题进行分析和解决。
jar框架包2 ibatis spring oracle mysql
框架包 由于一次上传要小于15M 所以只能上传两次......
java设计模式
由于一次只能上传10m 所以分两次上传的 前面的不全 这里作为补充
进程管理,限制工具 限制外部程序只能运行一次
使用说明: 1. 打开软件后, 在[基础参数] 里将 [需要限制程序的进程名]和[需要限制程序的窗口标题]填上 注意这两个都 是必填的,不要偷懒;这样可以保证效果,否则效果不佳. 2. 另外就是设置一下[自动化配置] : 看个人需要设置吧; 这些功能相信不用详细介绍了, 一看大家都懂了. PS: 程序里增加了一个自动隐藏自身程序的功能,所以会被一些杀软拦截, 使用注意一下,信任通过就行了,绝对无毒! 进程限制工具 更新记录: V1.0.0 更新时间: 2010-09-29 1. 通过程序进程名和窗口标题限制程序只运行一个,例如:只允许跑一个QQ; 2. 适用于各类Windows软件; 小弟不才,写的这么工具玩玩,也是应朋友所需而编写,功能上难免有些不足, 欢迎广大网友指正! 作者: onebody Email/MSN: onebodysoftware@hotmail.com QQ: 16316104
一台电脑只能投一次票的投票系统
一台电脑只能投一次票的投票系统,同时限定了ip,一个挺不错的网络投票系统。
控制MFC程序只能运行一次
MFC编写的控制MFC程序,判断只能运行一次,编译成功,能够直接用
C#实现微信公众号群发消息(解决一天只能发一次的限制)
C#实现微信公众号群发消息(解决一天只能发一次的限制),实现模拟登陆,进行文本消息群发
单片机控制步进电机
单片机控制步进电机的转动,用步进电机模拟电风扇的转动,①实现风速的强、中、弱,控制选择(一个按钮,循环) ②实现“睡眠风”,“自然风”,“正常风”三种风的选择(一个按钮,循环) ③通过LED显示工作状态
切屏之后需要退出两次的activity
一个切屏后需要退出两次的activity
集群式项目解决一个账号只能登录一次。
Springboot+Redis实现Session共享,一个用户只能登录一次,再次登录会把上次登录给挤掉。
windows ce 控制程序只运行一次
windows ce 5.0测试,让程序不能重复运行
QtSingleApplication实现软件只能启动一次
QtSingleApplication实例,实现Qt程序实现启动一次
Flex3控制多个SWF文件在MXML文件里做360度的随机运动
在页面里加载SWF文件并使之运动起来。加入状态控制。最后使SWF文件在mxml页面里360度的随机运动
C#限制软件使用次数的实现+源代码
C#限制软件使用次数的实现+源代码,当你辛辛苦苦写成了一个软件后,你需要为你的作品转化为商品,那么就要有一些限制功能,比如允许使用者使用一个月、使用10次等,如果想继续使用就需要购买,那么再没购买之前,软件限次合作就显得很必要了,本示例仅是提供了一种思路,可能还有很多地方有待完善,不过教你了一种实现限制使用次数的思路
vpcs_0.8c_gns3插件
解决gns3 2.1.8版本配合0.8b的vpcs时,在命令行下只能输入2个字母的问题。
判断两次密码输入是否相同的校验器
两次密码输入是否相同的校验器的实现代码,这里仅仅是测试是否相同,根据需要自己添加代码。
IDEFixPackReg2010
解决DELPHI 2010只能打开一次问题
iFIX WEBSPACE单点登录
iFIX WEBSPACE单点登录。省去WEBSPACE两次登录操作,只做一次登录信息输入。
登录模块点击提交按钮一次却发起多次两次请求的模板示例
该示例并非解决问题的示例,而是展示问题的示例。下载资源分设置不了为0,最少为2,抱歉。。。 ps:用的是idea环境,要将java文件夹在project structure的modules中设置为Sources
控制台程序 八数码 代码 可执行程序
vc++6.0下编译通过,控制台程序,输入为9个数字,输入两次,一次初始状态,一次终态,0表示空格,输出为从初态到终态的步骤
eclipse3.2可视化组件2(已创建好,覆盖即可)
让强大的eclipse再加上JBuilder方便的可视化编程,是不是就无敌了,哈哈…… 总共有23MB,一次只能传15Mb,所有就两次了
JavaScript权威指南(第5版)中文版(上)
javascript javascript权威指南 第五版 中文版!由于我一次只能上传60M大小文件!所以分两次上传!
注册码生成源码
注册码生成源码 一次只能传一个,就传两次了。 和 注册机(含软件使用次数限制)源码 是一起的
ASP.NET中Cookie对象的使用及防止重复投票代码
ASP.NET中Cookie对象的使用,利用Cookie对象防止重复投票代码,在代码中还有倒计时的代码,都是拿来就可以用的
C#Text只能输入数字自定义控件(可以设置是否允许输入负数,是否允许输入小数)
C#的一个只允许输入数字的自定义TextBox控件,可以设置是否允许输入负数,是否允许输入小数,是用vs2010编写的。
解决 windows 更新后,delphi只能打开一次
解决windows更新后,Delphi 打开出现 Cannot create file "C:\****\AppData\Local\Temp\EditorLineEnds.ttr". 另一个程序正在使用此文件,进程无法访问。的错误。
filter过滤器实现权限访问控制以及同一账号只能登录一台设备
filter过滤器实现权限访问控制以及同一账号只能登录一台设备
Android EditText输入中文和英文长度监听
EditText输入中文和英文长度监听,中文按两个字符,英文按一个字符,监听输入的长度,在你需要调用的地方添加:AddLengthFilter.lengthFilter(this, nameEt, 32, "提示信息"));
自定义纯数字键盘 + 只能输入6位数字密码输入框2个demo
自定义纯数字键盘 + 只能输入6位数字密码输入框2个demo
C#案例:限制TextBox只能输入字母
《C#案例:限制TextBox只能输入字母》,就如题目的意思一样,让文本框只能输入字母,否则会显示提示框。 采用的是通过正则表达式实现的: 匹配特定字符串:   ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串   ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串   ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串   ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串   ^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 关于大数据培训 关于云计算