从用户获取键盘输入,然后将该字符打印到控制台窗口

时间:2012-10-21 04:05:43

标签: c++ console-application

我用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 (Any key is pressed) {
         print that key to the screen
    }

我该怎么做?

0 个答案:

没有答案