Кириллица имгуи

penta

Участник
Автор темы
42
9
Именно когда я хочу вывести вектор микрофонов в имгуи комбо я встречаю типо такого - ???? Realtek(R) Audio
 

Vintik

Мечтатель
Проверенный
1,470
920
C++:
// в начало кода
#define utf8(a) ConvertStringToImGUI(a.c_str()).c_str()
std::string ConvertStringToImGUI(const char* str)
{
    int wchars_num = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
    std::wstring wide;
    wide.resize(wchars_num);
    MultiByteToWideChar(CP_ACP, 0, str, -1, &wide[0], wchars_num);
    std::wstring_convert<std::codecvt_utf8<wchar_t>> myconv;
    return myconv.to_bytes(wide);
}

// вот использование
std::string s = "абвгд";
ImGui::Text(utf8(s));
В настройках проекта включена многобайтовая кодировка (не уверен, что она нужна, но просто говорю).
 
Последнее редактирование:
  • Нравится
Реакции: Lance_Sterling и MLycoris

forgit

Новичок
3
1
C++:
// в начало кода
#define utf8(a) ConvertStringToImGUI(a.c_str()).c_str()
std::string ConvertStringToImGUI(const char* str)
{
    int wchars_num = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
    std::wstring wide;
    wide.resize(wchars_num);
    MultiByteToWideChar(CP_ACP, 0, str, -1, &wide[0], wchars_num);
    std::wstring_convert<std::codecvt_utf8<wchar_t>> myconv;
    return myconv.to_bytes(wide);
}

// вот использование
std::string s = "абвгд";
ImGui::Text(utf8(s));
В настройках проекта включена многобайтовая кодировка (не уверен, что она нужна, но просто говорю).
зачем этой еблей заниматься
 
  • Нравится
Реакции: Vintik