Я использую C / C ++, есть ли какие-либо функции Windows, или какие-либо очень быстрые способы конвертировать из любого из типов в заголовке в const WCHAR *?
Так что у меня есть большой случай, когда я проверяю свои данные, какого они типа, после того, как они попадают в какую-то ветку, где мне нужно преобразовать эти данные в WCHAR *.
Так, например, если у меня есть
21, я хочу, чтобы это было L «21».
32.322 => L «32.322» и т. Д.
Я мог бы сделать это вручную, но я бы предпочел, если бы был какой-то более быстрый путь! Эти преобразования, кажется, происходят на более низком уровне.
Спасибо!
Ты можешь использовать std::to_wstring
если вы используете C ++ 11 или C ++ 14. В противном случае используйте swprintf следующим образом:
Создайте широкий строковый буфер с подходящим размером массива:
wchar_t wstr[32];
Чтобы преобразовать в целое число, используйте «swprintf» с форматом «% d»:
swprintf(wstr, L"%d", 21);
Теперь «WSTR» содержит ваш «21»
А для преобразования в число с плавающей запятой используйте swprintf в формате «%. * F». Мы будем использовать максимум 3 цифры после десятичной точки (по умолчанию это 6). Так что для хранения потребуется меньше wchar_t:
swprintf(wstr, L"%.*f", 3, 32.322f);
Теперь ‘WSTR’ содержит ваш «32,322»
Посмотрите на следующую страницу MSDN для получения дополнительной информации о ‘swprintf’
Других решений пока нет …