簡體   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