[英]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.