gpt4 book ai didi

c - Backspace 不删除字符,类似于 BASH

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:16 25 4
gpt4 key购买 nike

我可以解析输入,在历史中上下遍历,但我的退格键不起作用。这是为什么?

void printPrompt(void)
{ // prints working directory prompt
char cwd[256];
getcwd(cwd, 255);
printf("%s> ", cwd);
fflush(stdout);
}

最佳答案

当您应该发送 BS(dec 8)时,您正在尝试打印出 DEL(dec 127)。然后您可能还想发送一个空格和另一个 BS 来清除该字符(BS 只是移动光标)。因此,当您得到 buf[0] == 8 时,打印出 8328

else if (buf[0] == 8)
{ // Backspace
if (charsRead > 0)
{
line[charsRead - 1] = '\0';
charsRead--;
printf("%c%c%c", 8, 32, 8); // CHANGE HERE
}
}

关于c - Backspace 不删除字符,类似于 BASH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15366940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com