微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

readline内部缓冲区

使用GNU Readline :

函数readline()显示提示并读取用户的input。

我可以修改它的内部缓冲区吗? 以及如何实现?

#include <readline/readline.h> #include <readline/history.h> int main() { char* input; // display prompt and read input input = readline("please enter your name: "); // Check for EOF. if (!input) break; // Add input to history. add_history(input); // Do stuff... // Free input. free(input); } }

注册免费的COM DLL要求。NET框架3.5安装时,它在注册时工作正常

在Linux下有没有用于C ++的用户模式multithreading库/框架?

parsing/debugging/移植大量macros的C ++程序

以100波特率处理串口

Win API,如何在对话框中写文本?

在Linux中可以用当地时间设置计时器吗?

Windows API类似于pthread_cancel?

单击打开一个项目(指向select)

使用多个编译器编译C代码

c()中system()的替代方法在linux上执行一个terminal命令

是的,可以修改readline的编辑缓冲区,例如使用函数rl_insert_text() 。 为了使这个有用,我想你将需要使用readline的稍微复杂的“回调接口”,而不是你的例子中的全部唱歌和跳舞readline()函数

Readline带有非常好的和完整的文档 ,因此我只提供一个简单的示例程序来帮助您开始:

/* compile with gcc -o test <this program>.c -lreadline */ #include <stdio.h> #include <stdlib.h> #include <readline/readline.h> void line_handler(char *line) { /* This function (callback) gets called by readline whenever rl_callback_read_char sees an ENTER */ printf("You changed this into: '%s'n",line); exit(0); } int main() { rl_callback_handler_install("Enter a line: ",&line_handler); rl_insert_text("Heheheh..."); /* insert some text into readline's edit buffer... */ rl_redisplay (); /* Make sure we see it ... */ while (1) { rl_callback_read_char(); /* read and process one character from stdin */ } }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐