Я пытаюсь сделать блокнот как окно вывода.
Проблема в том, что если мы введем стрелку влево, курсор переместится влево, но как переместить его снова вправо, не удаляя содержимое.
Также текст удаляется, если мы коснемся пробел.
Попробуйте код, если хотите <>
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;
}