看板 EE_DSnP 關於我們 聯絡資訊
為了使用上下左右鍵等等的功能 我先寫了一個小程式看ASCII碼 #include <iostream> #include <conio.h> using namespace std; int main() { while (true) { unsigned char ch = getch(); cout << int(ch) << endl; } } 但是,上下左右之類的,或是Alt和Ctrl組合鍵 出現的ASCII都是兩碼(是為了代表超過char上限的字元吧) 這樣我要怎麼判斷輸入的是什麼呢? 也就是說,一次判斷兩碼,要怎麼判斷? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.235
timrau:根據第一碼判斷需不需要再getch()一次以取得第二碼 01/18 11:23
wintercobra:謝啦 01/18 12:42
wintercobra:還有另一個問題想問:定義一個KEYIN形態的物件keyin 01/18 12:44
wintercobra:然後有個KEYIN的member function typeIn() 01/18 12:44
wintercobra:編譯的時候只有這行不過,錯誤訊息是 01/18 12:45
wintercobra:request for member 'typeIn' in 'keyin', which is 01/18 12:45
wintercobra:of non-class type 'KEYIN ()()' 這是什麼意思啊? 01/18 12:46
wintercobra:喔忘了說這行長什麼樣,是keyin.typeIn(); 01/18 12:47
wintercobra:好像解決了,似乎是因為我定義時寫KEYIN keyin() 01/18 12:50
wintercobra:雖然不傳參數給constructor,但是也不能加()的樣子 01/18 12:51
wintercobra:只能KEYIN keyin; 01/18 12:51
wintercobra:不然compiler會以為我在定義一個函數keyin(); 01/18 14:40
cfc0719:該如何只判斷第一碼呢? 01/18 15:59
michael0728n:測試第一個ASCII code是多少 01/18 16:33
michael0728n:我記得很多功能鍵的第一個ASCII都是224 01/18 16:35
michael0728n:所以是224的話就要再getch()一次 01/18 16:36
cfc0719:為什麼我測試出來的是-32 224+32=256 這不是巧合吧 01/18 17:28
stimim:unsigned char 和 char 的差別吧? 01/18 17:43
muxiv: 測試第一個ASCII https://noxiv.com 07/12 00:10