Я пытаюсь сделать блокнот как окно вывода. Проблема в том, что если мы введем СТРЕЛКУ ВЛЕВО, курсор переместится влево, но как снова переместить его вправо, не удаляя содержимое. Также текст удаляется, если мы коснемся пробела.
Попробуйте код, если хотите <>
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;
}
Заполнив строку пробелами?
Через некоторое время вам, вероятно, понадобится какая-то библиотека курсоров, например en.wikipedia.org/wiki/Curses_(programming_library).
@UnholySheep Никогда об этом не задумывался. Я просто делаю это для развлечения. Пожалуйста, предложите что-нибудь, если можете :)





Где вы храните контент?