0
我正在使用getch()来从键盘读取输入。但是如果用户错误地输入了错误的号码,他们自然会想纠正它。按下退格键,然后再次使ch等于0,并从输出中清除错误输入的数字(因此您再也看不到了)。我使用ASCII 8字符作为退格符,因为getch()使用ASCII编号。退格现在可以工作,但现在可以擦除整个输出行,包括“输入整数:”。如何在不将用户输入置于换行符上的情况下使'输入整数:'部分不可发送?例如:停止退格删除某些输出
int main(void)
{
int ch = 0;
here: printf("Enter an integer:\t");
ch = getch();
if(ch == 8) // 8 is ASCII for a backspace
{
ch = 0;
printf("\b \b");
goto here;
}
// some output
return 0;
}
我不想“输入一个整数。
您基本上想要的是'curses'的WinAPI等效项。 Windows提供[控制台](https://msdn.microsoft.com/en-us/library/windows/desktop/ms682010(v = vs.85).aspx)。 – jxh
@jxh这并没有什么帮助。 – ThE411
@ ThE411在我的回答中,我对user3121023的评论进行了大量扩展。我希望这有帮助。 –