由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教cin.get()
相关主题
a simple question for C++ class[合集] C++问题(copy constructor)
请问一个exception题目c++环境入门问题
两个继承问题问一个简单的C++问题
为什么我看不懂下面的code,是不是水平还不够?一个指向指针的指针的引用?
C++疑问问个char*的问题
two c++ interview questions! (转载)0 < -1 ? A c++ question
请教一个作用域的问题数组弱问
compare double to float[合集] 关于构造函数
相关话题的讨论汇总
话题: cin话题: int话题: reads话题: enter
进入Programming版参与讨论
1 (共1页)
h*******n
发帖数: 2052
1
好像如果前面用了cin, 后面再用cin.get(), 就不work了, 是什么原理呢? 如何解
决这个问题呢?
k**f
发帖数: 372
2

You'd better provide a concrete example showing what is not working.

【在 h*******n 的大作中提到】
: 好像如果前面用了cin, 后面再用cin.get(), 就不work了, 是什么原理呢? 如何解
: 决这个问题呢?

h*******n
发帖数: 2052
3
很简单一个程序:
#include
using namespace std;
int main()
{
int a=2;
//cin>>a;
cout< cin.get();
return 0;
}
这里cin.get();的作用是让屏幕保持原来的状态以便看到a的输出值。(我用的是Dev-C
++)
如果改成
#include
using namespace std;
int main()
{
int a;
cin>>a;
cout< cin.get();
return 0;
}
cin.get();就不work了, 程序直接就返回了, 没有在cin.get()处等待。 据说是因为
前面有一个cin语句。
a**a
发帖数: 416
4
试试先把cin的缓冲区清空?

【在 h*******n 的大作中提到】
: 很简单一个程序:
: #include
: using namespace std;
: int main()
: {
: int a=2;
: //cin>>a;
: cout<: cin.get();
: return 0;

t****t
发帖数: 6806
5
let's say you input "1" for cin>>a
you have to add an "enter" after "1"; cin>>a only reads "1", so cin.get()
reads "enter"
you have to ignore that first, say
cin.ignore(numeric_limits::max(), '\n');

【在 h*******n 的大作中提到】
: 很简单一个程序:
: #include
: using namespace std;
: int main()
: {
: int a=2;
: //cin>>a;
: cout<: cin.get();
: return 0;

h*******n
发帖数: 2052
6
Thank you all for the information!
1 (共1页)
进入Programming版参与讨论
相关主题
[合集] 关于构造函数C++疑问
C++菜问: 怎么这样也可以?two c++ interview questions! (转载)
C++ 初学者请教一个 iostream 的问题请教一个作用域的问题
c++之极弱问compare double to float
a simple question for C++ class[合集] C++问题(copy constructor)
请问一个exception题目c++环境入门问题
两个继承问题问一个简单的C++问题
为什么我看不懂下面的code,是不是水平还不够?一个指向指针的指针的引用?
相关话题的讨论汇总
话题: cin话题: int话题: reads话题: enter