【发布时间】:2014-06-30 18:28:53
【问题描述】:
代码如下:
cout << "Press <ENTER> when you are ready to procceed..." << endl;
cin.ignore(std::numeric_limits<streamsize>::max(),'\n');
cin.ignore(std::numeric_limits<streamsize>::max());
cin.clear();
...
cout << "Insert " << nominal << " rubbles into money acceptor and press <ENTER>" << endl;
cin.ignore(std::numeric_limits<streamsize>::max(),'\n');
cin.ignore(std::numeric_limits<streamsize>::max());
cin.clear();
第一次等待,第二次直接扔掉,没有任何停顿。
我尝试只使用 cin.ignore(std::numeric_limits::max(),'\n');或 cin.get() 或 cin.ignore() 或 getchar()。没有任何效果。
我什至试图让用户输入一个数字:
{cout << "eof: " << cin.eof(); int num; cin >> num; cout << "eof: " << cin.eof(); }
这第二次也不行!它在第二次调用时从 cin 读取“32767”。 和输出:
eof: 0
eof: 1
【问题讨论】: