我能够给用户输入限制为5个字符使用GNU readline:readline的使用默认值
#include <readline/readline.h>
#include <stdio.h>
#include <stdlib.h>
static int limit_rl(FILE *f)
{
if (rl_end > 5) {
return '\b';
}
return rl_getc(f);
}
int main(void)
{
char *str;
rl_getc_function = limit_rl;
str = readline("> ");
printf("%s\n", str);
free(str);
return 0;
}
但是,如何读取默认值(不提示)输入,如:
> ummy
^cursor here
如果用户类型d和输入回归 “虚拟”
如果用户类型DEL和输入返回“MMY”
你的意思是'ummy'应该存在了吗? – ameyCU
查看'rl'示例 - 可以设置一次执行'rl_insert_text'的启动钩子('rl_startup_hook'),然后禁用它自己。 – usr2564301
@ameyCU,是的,它必须出现在'rl_line缓冲区'和屏幕 –