我想知道Readline是否可以从C程序中的目录自动完成文件名?
我搜索过,只看到命令名完成.
提前致谢.
编辑:我在一个数组中复制文件名.
这些作为我使用的功能:
在文件rline.c中,char * command_generator,char ** tab_completion(const char * text,int start,int end),void initialize_readline().我想我必须使用char * filename_completion_function(char * text,int state)?当我键入“tab”键时,它不调用,bind()似乎没有被使用.你知道我是否使用正确的功能?
谢谢 !!
解决方法
#include <stdio.h> #include <stdlib.h> #include <readline/readline.h> #include <readline/history.h> int main() { printf( "%s\n",readline( "test> " ) ); return 0; }
有一些方法来定制这种机制,例如您可以指定一些函数,如rl_filename_quoting_function和rl_filename_dequoting_function,以帮助readline为您的应用程序提供正确的文件名引用.
如果这不适合您,则需要指定您的readline版本. / etc / inputrc内容也应该检查.你有bash,它使用readline吗?文件名完成是否按预期工作?
无论如何,信息readline是一个很好的文档,只要你可以使用信息本身:)如果没有,看看Programming with GNU Readline.
原文地址:https://www.jb51.cc/c/111778.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。