求助--如何实现终端历史命令上下翻功能

用C语言怎么实现像终端那种, 当按 KEY_UP时, 会显示上一次输入的命令的程序?
我自己想的代码如下, 可是不能实现:
[code:1]
#include <stdio.h>
                                                                                
int main(void)
{
    char *strs[] = {"String1", "String2"};
    char input[10];
                                                                                
    printf("Please Input a word:");
    fprintf(stdin, "%s", strs[0]);
    fflush(stdin);
                                                                                
    fscanf(stdin, "%s", input);
    printf("Input is %s\n", input);
                                                                                
    return 0;
}[/code:1]