【发布时间】:2014-03-08 19:50:46
【问题描述】:
我一直在尝试将输入键作为我的程序的输入。我已经定义了一个 char ENTER 变量并使用了 cin >> ENTER;输入回车键。然后我使用了一个 if 语句来确定是否按下了 Enter 键。 if(ENTER == '13'), '13' 是输入的ASCII码。好像没用,有什么建议吗?
【问题讨论】:
-
发布您的代码并准确告诉我们它是如何不起作用的。
我一直在尝试将输入键作为我的程序的输入。我已经定义了一个 char ENTER 变量并使用了 cin >> ENTER;输入回车键。然后我使用了一个 if 语句来确定是否按下了 Enter 键。 if(ENTER == '13'), '13' 是输入的ASCII码。好像没用,有什么建议吗?
【问题讨论】:
如何在不破坏有效输入的情况下检测 Enter 键:
char c;
cin.get(c); // get a single character
if (c == 10) return 0; // 10 = ascii linefeed (Enter Key) so exit
else cin.putback(c); // put the character back and proceed normally
或者:
char c;
c = cin.peek(); // read next character without extracting it
if (c == '\n') return 0; // linefeed (Enter Key) so exit
【讨论】:
c 更改为 int 类型并将其与文字 \n 进行比较以避免混淆