如果使用C从STDIN开始一段时间后按下Tab键,我该如何自动填充文本?
输入看起来像,
C:\>autofil.exe Hello
C:\>autofil.exe Hello. ( When I enter a period, it should autofil Hello after the period)
C:\>autofil.exe Hello.World *World is autofilled when period was entered.
第二个要求是,如果我在
C:\>autofil.exe Hello.World (And when i press Tab key, `World` should print with other suggestions, as `Friend`, and if I press Tab again, print `Matt`, and scroll so on when tab is pressed... )
嗯,这是我的要求。选项卡完成以自动填充文本。另外,想知道如何从STDIN读取Tab键。
谢谢!
答案 0 :(得分:1)
您可以使用Readline GNU library For Windows,非常容易使用,反过来就是使用PDcurses / Ncurses(几乎相同)并手动执行(处理控制台)行为等)。
如果您使用readline,则执行自动完成操作就像执行以下操作一样简单:
rl_bind_key('\t', rl_complete);
char *input = readline("C:\>");
如果你使用Ncurses / PDcurses,你将需要做更多的工作:)
在结束程序之前,再次设置已保存的控制台参数。
Ncurses How-To是指点指南的简单权利。
Posix curses definition包含函数和键定义。