У меня есть простая функция в моей программе, когда я хотел объединиться с юникодом и делать с ним все. В этой функции я хотел показать значение кода символа, введенного пользователем. Это представлялось возможным, вот моя функция:Как нарисовать wchar_t в int для отображения кодовой точки?
wstring listcode(wchar_t arg) {
wstring str = L"";
str += static_cast<int> (arg); //I tried (int) arg as well
str += L": ";
str += (wchar_t) arg;
return str;
}
Теперь, как вы видите, я просто хотел, чтобы отобразить целое значение (например, ASCII-символ, такой как (int) "a"
), но что-то вроде listcode(L"&")
будет отображаться как &: &
!
Невозможно ли найти целочисленное значение такого широкого символа?
Я думаю, что вы просто не должны + = int для wstring, не преобразовывая его в строковое представление. – wRAR
Он отлично работает, возвращая только int. –
Нет, просто конвертируйте (int) arg в wstring перед добавлением его в str (я не знаю, как это сделать на C++ правильно). – wRAR