我是C编程的初学者,我正在构建一个命令行解释器。我使用fgets()
从终端获取用户输入,我试图使用箭头键创建命令的“历史记录”。
void receiveInput() {
char *input = malloc(256);
printf(">> ");
fgets(input, 256, stdin);
if ((strlen(input) > 0) &&
(input[strlen(input) - 1] == '\n')) {
input[strlen(input) - 1] = '\0';
}
processInput(input);
free(input);
receiveInput();
}
上面的函数构建了输入,问题是我必须在尝试获取用户输入的同时捕获按键。有没有办法做到这一点?我已经找到了一些我想要解决的解决方案,但在这个级别上我觉得它们太难了。