8

我正在尝试向我的命令行应用程序添加自动完成功能。到目前为止,所有答案都说它是 shell 的优先级,但在我的情况下它是不同的。我的程序进入了一个循环(以获取命令) in main(),所以我认为它与 shell 没有任何关系。我怎样才能实现这样的目标?

以下是我的程序。std::getline()当用户点击回车( )时,它开始解析。如何在不使用任何外部库的情况下在运行时获取用户输入?

while (input != "exit") {

  std::cout << "\nCommand >> ";
  std::getline(std::cin, input);

  com.parse(input);
}
4

1 回答 1

3

正如 David Rodríguez 所说,使用 readline GNU 在 linux 中完成了这项工作(我必须使用库)。

是官方文档,它有一些 C 示例,但它们太混乱了,所以我用来创建我的自定义自动完成。

于 2013-07-31T14:06:54.617 回答