Я пытаюсь реализовать удаление символов в простом окне, использующем библиотеку Curses.
По сути, окно создается со следующим кодом для границы:
box(local_win, 0 , 0); // Set the border of the window to the default border style.
а позже, когда я продолжаю обрабатывать backspace, я делаю это с помощью следующего кода:
initscr();
cbreak();
keypad(window, TRUE);
int ch; // The character pressed by the user.
while((ch = wgetch(window)) != EOF)
{
switch(ch)
{
case KEY_BACKSPACE: // Handle the backspace.
{
wdelch(window); // Delete the character at the position in the window.
wrefresh(window);
refresh();
}
}
}
Несмотря на то, что он удаляет символы, в конечном итоге он вытягивает правую вертикальную полосу за границу, создавая тем самым дыру в границе. Я делаю что-то не так или это случай, когда мне придется вручную вставлять пробел после каждого удаления, чтобы сохранить границу в исходном месте.
Спасибо за любую помощь в этом!