我试图在一个利用 Curses 库的简单窗口中实现删除字符。
基本上,窗口是使用以下边框代码创建的:
box(local_win, 0 , 0); // Set the border of the window to the default border style.
稍后当我继续处理退格键时,我使用以下代码执行此操作:
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();
}
}
}
虽然它确实删除了字符,但它最终会从边框中拉出右侧的垂直条,从而在边框上创建一个洞。我在这里做错了什么,还是在这种情况下,我必须在每次删除后手动插入一个空格,以便将边框保持在其初始位置。
感谢您对此的任何帮助!