C++ cin.get()不工作吗?

C++ cin.get()不工作吗?,c++,C++,我从PHP第一次使用C++。我在玩一些代码。据我所知,我得到了;假设在我按下一个键之前停止关闭窗口,但是由于前面的代码,它似乎不工作,我不知道问题出在哪里。这是我的密码: #include <iostream> #include <cstdlib> using namespace std; int multiply (int x, int y); int main () { int x; int y; cout << "Plea

我从PHP第一次使用C++。我在玩一些代码。据我所知,我得到了;假设在我按下一个键之前停止关闭窗口,但是由于前面的代码,它似乎不工作,我不知道问题出在哪里。这是我的密码:

#include <iostream>
#include <cstdlib>

using namespace std;

int multiply (int x, int y);

int main ()
{
    int x;
    int y;

    cout << "Please enter two integers: ";
    cin >> x >> y;

    int total = multiply(x, y);
    cout << total;

    cin.get();
}

int multiply (int x, int y) {
    return x*y;
}

它读取仍保留在输入流中的换行符,因为前一次读取可以从流中提取它

见此:

cin >> x >> y;

它只读取两个整数,但不读取您按下按钮时输入的换行符。

它读取输入流中仍然存在的换行符,因为上一次读取可以从流中提取它

见此:

cin >> x >> y;
它只读取两个整数,但不读取您按下按钮时输入的换行符。

cin.ignorenumeric_limits::max,'\n' 在>>x>>y之后;或者在你得到之前

这将刷新cin的缓冲区并删除仍然存在的挂起\n,因为cin读取x和y,但也读取y之后的最后一个返回值。当你打电话给cin.get时,它会被读入。如果刷新缓冲区,cin.get将看到一个空缓冲区,一切正常。

放置一个

cin.ignorenumeric_limits::max,'\n' 在>>x>>y之后;或者在你得到之前

这将刷新cin的缓冲区并删除仍然存在的挂起\n,因为cin读取x和y,但也读取y之后的最后一个返回值。当你打电话给cin.get时,它会被读入。如果刷新缓冲区,cin.get将看到一个空缓冲区,一切正常。

您可以使用

cin.ignore(256,'\n');
就在决赛之前

cin.get();
这将丢弃在读取x和y时无意输入的“\n”。页面将停止关闭,直到根据需要再按一次键。

您可以使用

cin.ignore(256,'\n');
就在决赛之前

cin.get();

这将丢弃在读取x和y时无意输入的“\n”。页面停止关闭,直到按需要再按一次键。

您能解释一下停止页面是什么意思吗closing@Tyler使用getch;而不是cin.get;你能解释一下你所说的停止页面是什么意思吗closing@Tyler使用getch;而不是cin.get;OP's stop the page closing makes me thing这是一个CGI的东西-不会像OP expectsOP's stop the page closing makes me thing这是一个CGI的东西-不会像OP Expects那样工作256是什么数字?为什么是那个号码?256号到底是什么?为什么是这个数字?