C++程序应该在他按下'esc'后立即退出
The C++ program should exit as soon as he presses 'esc'
我有一个程序,其中有一个代码看起来像这样:
int Element[15];
cout << "Enter name/symbol of the Element: ";
cin >> Element;
我希望程序在他按下'esc'键后立即退出。此外,用户不应在按下'esc'键后再按下'enter'
在Windows中,您可以使用Windows API来完成此操作。GetAsyncKeyState(VK_ESCAPE)可帮助您检查是否按下了ESCAPE。你可以试试这样的东西:
#include <windows.h>
#include <iostream>
using namespace std;
int main() {
int Element[15];
HANDLE h;
do {
h = GetStdHandle(STD_INPUT_HANDLE);
if(WaitForSingleObject(h, 0) == WAIT_OBJECT_0) {
cout << "Enter name/symbol of the Element: ";
cin >> Element;
}
} while(GetAsyncKeyState(VK_ESCAPE)==0);
return 0;
}
我遇到了同样的问题,并用上面的方法解决了它。这个问题帮了我很多忙(处理思路来自公认的答案):C++如何使用ESC按钮终止程序。这个问题的另一个解决方案也在链接的问答中提供。
这种检测Esc键的方法也应该有效(然而,我没有正确测试它):
#include <iostream>
#include <conio.h>
#include <ctype.h>
using namespace std;
int main() {
int c = _getcha();
while(c != 27) {
// do stuff
c = _getcha();
}
return 0;
}
相关文章:
- 为什么"do while"循环不断退出,即使条件计算结果为 false?
- 创建LinkedList退出,返回代码为-11(SIGSEGV)
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- 如何让LLDB在成功时退出,在失败时等待
- C++控制台应用程序阻止退出
- 程序在执行程序的其余部分之前退出
- 构造函数在退出函数时无法初始化一个参数
- 为什么异常不退出程序?
- 我不断收到 [错误] ID 返回 1 退出状态错误,但看不到问题所在
- 退出简单while循环时出现问题
- 使用vscode调试时,GDB意外退出
- pclose() 不会给我进程退出代码
- 为什么系统函数总是在C++中返回已转移的退出状态?
- C++从另一个函数退出函数
- C++ 中的编译错误:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- C++逗号分隔的输入数组代码过早退出
- Netbeans 10:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
- 为什么 C++ 中的以下结构声明会导致退出 127?
- 使用Enter继续前进并ESC退出C
- C++程序应该在他按下'esc'后立即退出