Cin.get()问题与C ++

时间:2014-01-05 21:38:37

标签: c++

我仍然不知道它如何与Visual Studio一起使用。

据说它让我的控制台保持打开状态,但事实并非如此。它仍然闪烁。 我做错了吗?

#include <iostream>
using namespace std;

int main()
{
    int a;
    cout << "Please enter an integer: ";
    cin >> a;

    if (a == 1)
    {
        cout << endl << "You typed 1.";
    }   
    else
        cout << "That's not 1.";

    cin.get();

    return 0;
}

1 个答案:

答案 0 :(得分:2)

正如在评论中已经指出的那样,问题是输入缓冲区包含由cin.get()读取的Enter键的符号; 您可以使用以下序列

char c;

cin >> c;

或者在cin.get()之前你应该调用cin.ignore。例如

cin.ignore( numeric_limits<streamsize>::max(), '\n' );
cin.get();

在最后一种情况下,您必须包含标题<limits>