gpt4 book ai didi

c - 如何使光标像 curses/C 中的文本编辑器/终端一样工作?

转载 作者:行者123 更新时间:2023-12-05 01:24:58 25 4
gpt4 key购买 nike

例如,假设我有字符串“Hinge”——我希望能够将光标移动到开头,按 del 删除“H”,然后插入一个“B”,将所有内容推到前面光标向前并创建单词“Binge”,而不是覆盖默认行为的“i”。我可以使用标准的 addch() 函数执行此操作吗?

此外,即使我可以让它在屏幕上正确打印,让它对应于缓冲区似乎也是一个过于复杂的问题。这似乎是一项常见的任务,但我想不出一种简单的方法来完成它。

这是我目前如何处理基本输入的示例。

  if (isprint(key)) {
if (ctx->pos != sizeof(ctx->line)-1) {
mvwaddch(self->window, y, x, key);
ctx->line[ctx->pos++] = key;
ctx->line[ctx->pos] = '\0';
}
}

最佳答案

您可以使用 GNU readline library来完成这个而不是直接编码到 curses。这是一个简单的程序:

#include <stdio.h>
#include <readline/readline.h>
#include <readline/history.h>

int main () {
char *s = readline("Type something: ");
printf("You typed: %s\n", s);
return 0;
}

在我的系统上,我使用 gcc prog.c -lreadline -ltermcap 编译

关于c - 如何使光标像 curses/C 中的文本编辑器/终端一样工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18221047/

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