用C++:
char str[6];
int n;
cin.getline(str,6);
cin>>num;
然后键入push 1回车,str为"push ",但是num却接收不到数值是什么原因?
cin.getline()的一个问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 小灸舞 2016-08-22 06:13关注
cin.getline当输入长度不够或者大于给定长度的时候都会改变输入流的状态,导致下次输入失败。
你调用一下cin.clear()就好了。#include<iostream> using namespace std; int main(void) { char str[6]; int n; cin.getline(str, 6); cin.clear(); cin >> n; cout << n << endl; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报无用 1
悬赏问题
- ¥15 QTOF MSE数据分析
- ¥15 平板录音机录音问题解决
- ¥15 请问维特智能的安卓APP在手机上存储传感器数据后,如何找到它的存储路径?
- ¥15 (SQL语句|查询结果翻了4倍)
- ¥15 Odoo17操作下面代码的模块时出现没有'读取'来访问
- ¥50 .net core 并发调用接口问题
- ¥15 网上各种方法试过了,pip还是无法使用
- ¥15 用verilog实现tanh函数和softplus函数
- ¥15 Hadoop集群部署启动Hadoop时碰到问题
- ¥15 求京东批量付款能替代天诚