0

我在控制台程序中有以下 c++ 代码:

float var1, var2;

cin >> var1;
cin >> var2;

当我要输入第二个变量并使用右箭头键时,第一个变量的输入开始出现在屏幕上。如果我按 Enter,第二个变量将采用屏幕上出现的值。我需要重置 cin 缓冲区吗?我试图利用:

cin.clear();

和:

cin.ignore();

但行为仍然存在。

4

2 回答 2

2

这与 c++ 无关。您所遇到的是,如果在新行的第一次击键时按下右箭头cmd.exe,则使用右箭头键可以获得先前键入的行(字符对字符) 。

于 2013-04-26T10:28:03.627 回答
0

没事做。只知道编译器的行为。cin将采用空格或下一行 (\n) 分隔值。现在向上和向下箭头向下导航历史记录,以便您在控制台中获得先前的输入。您可以从命令提示符进行测试。

于 2013-04-26T10:20:03.157 回答