[英]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 char
和wchar_t
之间的转换。 也许您希望SomeValue
成为wchar_t
。
wstring有一个带char的构造函数。 这将从char创建一个wstring,然后你可以追加它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.