gpt4 book ai didi

在 ncurses 中按 Enter 键后光标不会移动到新行

转载 作者:行者123 更新时间:2023-11-30 17:52:20 26 4
gpt4 key购买 nike

我正在使用 ncurses 库文件制作一个文本编辑器程序。但是在我的程序中,按 enter 键后我无法将光标移动到新行。我使用 switch case 来确定按下哪个键,然后更改变量来确定当前位置。一切正常,但按 Enter 后光标不移动。我正在使用 move(y,x) 函数。

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)吗?

最佳答案

KEY_ENTER仅指键盘的回车按钮。

除非那是您想要做的,否则请尝试以下操作:

case 13:         // Replaced KEY_ENTER with 13
posx=0;
posy=10;

break;

如果您还想支持键盘的输入按钮,则可以将已有的外壳保留在那里。

此外,您是否调用了keypad()?如果没有,请尝试添加键盘(winscr, TRUE)

关于在 ncurses 中按 Enter 键后光标不会移动到新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16274971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com