【发布时间】:2013-07-12 19:15:11
【问题描述】:
我编写了一些代码来检测空用户输入:
if(cin.get() == '\n')
{
cout<<"ENTER WAS PRESSED"<<endl;
}
但由于某种原因,如果用户按 ENTER,它只会在我按 ENTER 时继续前进到下一行。
【问题讨论】:
-
我认为你必须使用 noskipws 或类似的东西。默认情况下 cin 跳过空格,\n 是空格 IIRC。
-
对不起,我忘了提到用户应该输入一个数字,我想知道该怎么做,以确保如果用户按下 ENTER,则会弹出警告消息
-
一直问,直到你得到你想要的?
-
@Borgleader:空白和
/n是不同的实体。编译器对它们的处理方式不同。另外,空格的 ASCII 值为 32,\n的 ASCII 值为 10。 -
@ChosenTorture:C++ 编译器将
\n视为此处讨论的所有上下文的空格。