アルファベットのテキスト入力は実現出来たのですが今度は日本語の文字入力を行いたいです。イベント入力の引数にunsigned int 型がありますがこれに入力した一文字が入りますがこの値をどうやって利用すればいいのでしょうか?参考サイトを見て文字コードについて調べましたがどうすればいいのかわかりません。
参考サイト: http://wisdom.sakura.ne.jp/programming/c/c63.html
cpp
1 2// ##################################### イベント処理 テキスト入力 ##################################### 3void FrameWork::Window::KeyInputChar(GLFWwindow* win, unsigned int n) 4{ 5 Window* const instance = (Window*)glfwGetWindowUserPointer(win); 6 7 instance->inputKey = (char)n; 8} 9 10// ##################################### テキスト入力を取得 ##################################### 11std::vector<char> FrameWork::Window::getTextInput() 12{ 13 if (inputKey != 0) 14 { 15 if (string.size() == 0) 16 { 17 string.push_back(inputKey); 18 string.push_back('\0'); 19 } 20 else 21 { 22 string.erase(string.end() - 1); 23 string.push_back(inputKey); 24 string.push_back('\0'); 25 } 26 } 27 28 inputKey = 0; 29 return string; 30} 31
cpp
1 std::vector<char> string(0); 2 char str[1000] = { '\0' }; 3 4 while (*window) 5 { 6 window->FrameUpdate(glm::vec4(0.0f, 0.0f, 0.0f, 255.0f)); 7 8 9 string = window->getTextInput(); 10 FrameWork::DrawFormatString(glm::vec2(100,100),glm::vec4(0,255,0,255),40,string.data()); 11 12 13 14 15 window->ClearTextInput(); //テキスト入力をクリア 16 window->Wait(); //フレームレート制御 17 window->SwapBuffers(); //ダブルバッファリング 18 } 19 20