繁体   English   中英

C ++将unsigned char附加到wstring

[英]C++ append unsigned char to wstring

出于调试原因,我想将一个unsigned char附加到wstring。

但是,我没有找到将unsigned char转换为wstring的函数,所以我无法追加它。

编辑:到目前为止发布的解决方案并没有真正做到我需要的。 我想将0转换为“0”。 到目前为止,解决方案将0转换为0字符,但不转换为“0”字符串。

有人可以帮忙吗?

谢谢。

unsigned char SomeValue;
wstring sDebug;

sDebug.append(SomeValue);

将字符串附加到字符串的正确调用(或者在这种情况下,是wchar_t到wstring)是

sDebug.push_back(SomeValue);

文档在这里

要将char扩展为wchar_t,还可以使用std :: btowc ,它将根据您当前的语言环境进行扩展。

sDebug.push_back(std::btowc(SomeValue));

只需将unsigned char转换为char:

sDebug.append(1, static_cast<char>(SomeValue));

如果你想使用operator +试试这个:

sDebug+= static_cast<char>(SomeValue);

甚至这个:

 sDebug+=boost::numeric_cast<char>(SomeValue);

append的重载也需要附加给定字符的次数:

sDebug.append(1, SomeValue);

但是,这将导致unsigned charwchar_t之间的转换。 也许您希望SomeValue成为wchar_t

wstring有一个带char的构造函数。 这将从char创建一个wstring,然后你可以追加它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM