C++ 如何获取 int 值的 std::wstring? [重复]

问题描述 投票:0回答:1

我有一个

int val = 0x1234;
并且想要获取该数字的
std::wstring
(ሴ)

int val = 0x1234;
std::wstring wstr =  to_wstring(val) ( this gives me L"4660" which is not what I want !)
std::wstring wstr_OK =  ????         ( it should give me the character ሴ)
c++ type-conversion integer wstring
1个回答
1
投票

std::to_wstring
(以及
std::to_string
)正在创建值的字符串表示形式。
如果是
int
,它将创建一个字符串,其中每个数字 都会转换为代表它的字符 例如,
1
 将表示为字符 
'1'
(它具有不同的数值 - 例如,如果这是 ascii,则为 49)。

在您的情况下,您已经知道所需字符的数值,因此您可以简单地用它分配

wstring

 的元素:

std::wstring wstr; wstr.resize(1); wstr[0] = val;
或更简单地说:

std::wstring wstr(1, val);

注: 上述解决方案通常假设数值确实可以存储在一个
wstring

 元素中,即 
wchar_t
。您使用的特定代码似乎就是这种情况(
0x1234
)。

© www.soinside.com 2019 - 2024. All rights reserved.