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的評論進行了大量擴展。我希望這有幫助。 –