Всем привет. Делаю текстовый редактор используя односвязный список.
int main()
{
List text;
initscr();
keypad(stdscr, true); //Включаем режим чтения функциональных клавиш
noecho(); //Выключаем отображение вводимых символов, нужно для getch()
halfdelay(100); //Устанавливаем ограничение по времени ожидания getch() в 10 сек
raw();
int row,col;
char symbol;
bool ex = false;
getmaxyx(stdscr, row, col);
while ( !ex )
{
char symbol = getch();
switch( symbol )
{
case char(KEY_F(2)):
ex = true;
break;
case char(KEY_F(3)):
text.DeleteLastNode();
clear();
text.printList();
break;
default:
text.AddNode(symbol);
text.printNode();
break;
}
}
refresh();
// refresh(); //Выводим на настоящий экран
endwin(); //Выход из curses
return 0;
}
На данный момент функционал такой: Можно печатать текст, и нажимая F3 удаляется последний элемент. И у меня есть пара вопросов:
Почему-то KEY_BACKSPACE не работает ( не важно в принципе, но хотелось бы нормальную клавишу).
Можете подсказать, как настроить стрелочки, чтоб бегать по тексту? Хотя бы влево и вправо.
Список наверное сюда не уместиться, но если надо то могу куда нибудь залить. Заранее спасибо.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей