前言
这几天做课设,Linux下的Huffman编码译码器,在命令行输入文件时希望能够实现自动补全,避免错误的同时使输入更加的便捷,于是便想到了暑假时的readline()函数,readline()函数确实很赞,可以与当前的Bash命令行进行交互
Readline库的安装
在Ubuntu下命令行安装
sudo apt-get install libreadline6-dev
这样Readline库就安装完成
Readline库的动态链接
然后进行一下小测试
#include<iostream>
#include<readline/readline.h>
using namespace std;
int main() {
char a[] = "please input a string\n";
char *input = readline(a);
printf("%s\n",input);
return 0;
}
后来才知道Readline是一个动态链接库,对动态库链接需要找到它的位置
ldconfig -p | grep readline
显示libreadline.so.6 (libc6,x86-64) => /lib/x86_64-linux-gnu/libreadline.so.6
所以在编译时动态链接一下Readline库
readline()函数的简单实用
/**
*@param prompt {char *} 命令行提示参数
*@return {char *} 输入的字符串
*/
char *readline(char *prompt);
简单的说,返回值是输入的内容,参数时命令行提示符
readline()输入的时候能够完成Bash命令行下的操作