命令行字辅助

时间:2014-03-15 04:29:43

标签: c linux command-line getchar

我试图在我的命令行程序中添加一项高级功能,当您按下'标签'按钮它会显示你可能指的是什么词(在文件的上下文中,当按下tab时bash有这个功能,它会在下一行打印匹配的文件名)。

以下是我所拥有的片段。我已经取代了' \ n'使用ASCII for tab(查看它是否有效)但我需要按回车键将数据导向标准输入。

感谢任何帮助。感谢。

    while (1){
        c = getchar() ;
        if (isspace(c)){
            curLine[pos]='\0';
            buffer[w_count] = curLine ;
            ++w_count;
            pos=0;
            curLine = calloc(10, sizeof(char));
            if (c == '\n')
                break;
            }
            curLine[pos]=c;
             ++pos;
        }
    }

1 个答案:

答案 0 :(得分:1)

使用gnu readline库并在http://www.delorie.com/gnu/docs/readline/rlman_48.html

参考readline库的示例示例