提示コードですが下記のようにunsigned int 型
をwchar_t型
に変換してそれをchar型
に変換するという処理を作ったのですがそれでa
と入力すると97とう数字が出力されてしまいます。a
というように表示させるにはどうしたらいいのでしょうか?
cpp
1 2// ##################################### 一文字入力を取得 ##################################### 3std::string FrameWork::Window::getCharacterInput() 4{ 5 6 7 if (inputKey != 0) 8 { 9 wchar_t wc[3]; 10 char ch[10] = { '\0' }; 11 errno_t t = _itow_s(inputKey, wc, 10); 12 printf("%d\n",t); 13 14 15 size_t ptNum = sizeof(wc); 16 17 wcstombs_s(&ptNum,ch,sizeof(ch),wc,sizeof(ch)); 18 19 20 21 character = ch; 22 character += '\0'; 23 printf("%s\n",character.c_str()); 24 } 25 else 26 { 27 character = '\0'; 28 } 29 30 31 32 33 inputKey = 0; 34 return character; 35} 36 37 38
inputKeyにはかな漢字のような非ASCII文字も入りますか?
GLFWのリファレンスに[Unicodeテキスト入力を目的としています] と書いてあります。
また(char)inputKeyとすると文字を表示出来るのですが日本語にも対応したいのでwchar_t型で行いたいです。
回答2件
あなたの回答
tips
プレビュー