我有一个 C 代码,提示用户输入目录名称列表,它只使用简单的 scanf() 来接收输入并继续。现在我想为目录名称提供自动完成功能(就像 bash 一样)。假设用户输入/home/a 并按 TAB - 它会显示以“a”开头的可用用户目录列表。如何实现这一点?
最佳答案
scanf
不适用于内核熟模式终端驱动程序提供的超出基本级别(基本上只是退格键)的任何类型的自动完成甚至交互式编辑。如果您想进行更高级的交互式输入,您需要更改终端模式以便获取每个按键事件并自行处理它们,或者您可以使用像 readline
这样的库来为您完成这项工作。
关于c - 使用 C 自动完成目录名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557690/