簡體   English   中英

c ++使用_getch()進行即時用戶輸入,但它不斷返回不同的數字

[英]c++ Using _getch() for instant user input, but it keeps returning different numbers

int choiceOne = 0;
choiceOne = _getch();
cout << choiceOne;
_getch();
system("CLS");

我希望choiceOne能夠=用戶輸入的內容,但是會輸出(48+用戶輸入),所以如果我輸入0,它將輸出48,如果我輸入5,它將輸出53。我不確定48會在哪里從。

如果需要更多代碼,可以將其發布。

您正在讀取字符變量,但將它們存儲在int類型的變量中。 這會將輸入從char轉換為int。 您所看到的是所輸入字符的相應ASCII整數值。 將choiceOne更改為char類型的變量,以便您的代碼起作用,並在線搜索ASCII表以獲取每個標准字符的所有ASCII代碼的完整參考

_getch返回ASCII編碼。 如果按0,它將獲得字符“ 0”的ASCII編碼,十六進制為0x30,十進制為48。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM