用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