Питаюсь вводить текст с клавиатуры и сразу отправляю в консоль, с английским без проблем но вместо русского вводить какие то цифры и английские буквы.
вот функция обработки и регистрации
Русский в консоли включён!
void character_callback( GLFWwindow *window, unsigned int codepoint )
{
std::cout << (char)codepoint;
Text+=(char)codepoint;
}
glfwSetCharCallback( window, character_callback );
Как с помощью glfw вводить кириллицу?
========================================== Помог Коментарии, сделал таблицу соответствия кодировок и всё. Ответ помог выводить в консоль спасибо. Но мне нужно было имен о преобразовать в обычный char. Я это решил. всем спасибо.
Для начала нам нужно переключить режим стандартных потоков ввода/вывода с помощью функции _setmod
1 (делаем это где-нибудь в main
, например):
_setmode(_fileno(stdout), _O_U16TEXT);
_setmode(_fileno(stdin), _O_U16TEXT);
_setmode(_fileno(stderr), _O_U16TEXT);
Согласно документации GLFW, мы можем рассматривать codepoint
как UTF-32 символ с нативным порядком байтов. Тогда ваша функция character_callback
может выглядеть примерно следующим образом:
void character_callback(GLFWwindow *window, unsigned int codepoint)
{
const wchar_t wideChar = codepoint;
std::wcout << wideChar;
<...>
}
1) Подробнее про русский язык в консоли смотрите в этом ответе.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Возникло несколько вопросов связанных с raw pointers в С++Рассмотрим следующий код
1 вариант: