C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用readline()完成大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个关于Readline Library的问题.

我想知道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()似乎没有被使用.你知道我是否使用正确的功能
谢谢 !!

解决方法

文件名完成是readline的内置功能,您不需要填充文件名列表等.在readline 6.1中,以下程序认允许文件名完成.
#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.

大佬总结

以上是大佬教程为你收集整理的使用readline()完成全部内容,希望文章能够帮你解决使用readline()完成所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。