Как переместить курсор вправо при вводе данных, как мы делаем в NOTEPAD - PullRequest
0 голосов
/ 06 января 2019

Я пытаюсь сделать блокнот как окно вывода. Проблема в том, что если мы введем стрелку влево, курсор переместится влево, но как переместить его снова вправо, не удаляя содержимое. Также текст удаляется, если мы коснемся пробел.

Попробуйте код, если хотите <>

int main()
{
    int k,l;
    system("cls");
    printf("\n\n \t\t ** WELCOME TO C NOTEPAD ** \n\n START FROM HERE  -  :) \n\n    ");
    while(1)
{
    k=getch();
    if(k==0xE0)  // TO check if we enter arrow keys
    {
        l=getch();
        switch(l)
        {
            case 75 : printf("\b"); break;  // LEFT ARROW
            //case 77 : printf("\r"); break;  //RIGHT ARROW

            default:  continue;
        }
    }
    else
    {
         switch(k)
        {
            case 13 : printf("\n"); break;  // New line after pushing ENTER key
            case 8 : printf("\b"); break;   // BACK SPACE
            case 9 : printf("\t"); break;   // TAB
            case 27: system("cls");         // Clear screen after pushing ESCAPE key

                    printf("\n\n * PRESS ANY KEY TO START AGAIN \t *PRESS 'ESC' TO EXIT");
                            if(getch()==27)
                                exit(0);
                            else
                                main();

            case 127 :  printf(" "); break; // DELETE 

            default:   printf("%c",k);
        }
    }
}
return 0;

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...