我用 C++ 在控制台窗口中编写了一个简单的文本编辑器程序。我有一个 while 循环,它不断循环并检查是否按下了上、下、左、右或退格键。方向键移动光标位置,退格键删除该位置的字符。
**我的问题是:有没有办法可以设置一个条件,如果按下任何键,它会获取该键并将其打印在当前光标位置。例如,如果他们按下“a”键,则会在控制台窗口中打印一个“a”
这是循环
while (pressedEscape == false) {
if (GetAsyncKeyState(VK_UP))
moveUp(position);
else if (GetAsyncKeyState(VK_DOWN))
moveDown(position);
else if (GetAsyncKeyState(VK_LEFT))
moveLeft(position);
else if (GetAsyncKeyState(VK_RIGHT))
moveRight(position);
else if (GetAsyncKeyState(VK_BACK))
deleteChar();
else if (GetAsyncKeyState(VK_ESCAPE))
pressedEscape = true;
else if (GetAsyncKeyState(0x43) || GetAsyncKeyState(0x63))
system("cls");
gotoxy(position.x, position.y);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
Sleep(100);
}
所以 id 喜欢的是另一个 else if 条件:
else if (Any key is pressed) {
print that key to the screen
}
我怎样才能做到这一点?