【发布时间】:2013-12-14 03:58:18
【问题描述】:
我有一个程序,其中的代码如下所示:
int Element[15];
cout << "Enter name/symbol of the Element: ";
cin >> Element;
我希望程序在他按下 'esc' 键后立即退出。而且用户在按下 'esc' 键后也不必再按下 'enter' 键。那该怎么做呢??
【问题讨论】:
-
windows 还是 linux?我认为无论哪种方式都需要使用 iostreams 之外的库,但至少在 Linux 上,您肯定必须关闭终端上的线路缓冲,这有点深奥。
-
如果这不是 Windows,请调查
ncurses。 -
我不知道在just C++(甚至C++11)的范围内没有办法做到这一点。你需要做一些特定于平台的事情。
-
仅供参考,
'\033'是当今几乎所有计算机上由ESC生成的字符(唯一值得担心的例外是 IBM 生锈的铁,您可能会遇到 EBCDIC)。你可以从cin读到它就好了。不需要按“回车”部分需要超越 ISO C++。 -
这篇文章可能对你有帮助,看起来很相似 [StackOverflow][1] [1]: stackoverflow.com/questions/17174849/…