0
我正在製作一個使用ncurses庫文件的文本編輯器程序。但在我的程序中,我不能在按enter
鍵後將光標移動到新行。我使用switch case
來確定按下哪個鍵,然後更改變量以確定當前位置。所有工作正常,但在按Enter
後,光標不移動。 我正在使用move(y,x)
函數。ncurses中按回車鍵後光標不會移動到新行
while((ch = getch())!= KEY_F(1))
{
switch(ch)
{
case KEY_LEFT:
if(posx>0)
posx--;
//traverse left in my link list
break;
case KEY_RIGHT:
if(posx<=cols && posx<cur_maxx)
posx++;
//traverse right in my link list
break;
case 263:
if(posx>0)
posx--;
//delete one node in link list
break;
case KEY_ENTER:
posx=0;
posy=10; //for testing
//add new line at end of link list
break;
default:
c=ch;
getyx(stdscr,y,x);
//add the character to the linked list based on its
//position(insert at prev or append)
break;
}
clear();
traverse(mn);//it is for printing the characters
move(y+posy,x+posx);
refresh();
}
,一切工作正常的左鍵和右鍵,但按下回車鍵 光標在先前的位置後掛斷和輸出進來了新的生產線。 按回車後如何成功移動光標? 有沒有其他的方法來移動光標(使用ncurses)?