[英]How can I convert const std::vector<unsigned char> to char
[英]How can I concatenate an `unsigned char` to an `std::string`?
我正在嘗試將一個unsigned char
連接到一個std::string
但是它給我一個錯誤,提示“ operator+
not defined”
#include <string>
int main()
{
unsigned char a = 't';
std::string s = "uoyriri";
s = s + a; // error: no match for operator
}
std::string
沒有char
的operator+
重載。 您可以執行以下操作:
s += 't';
但總的來說,您可能想要的是std::stringstream
:
std::stringstream ss;
ss << "uoyriri";
ss << a;
ss.str(); // The resulting string
您可以嘗試append
方法:
s.append(1, static_cast<char>(a));
將unsigned char
強制轉換為char
並使用運算符+=
。
std::string
重載了+=
,您可以使用它來做到這一點:
s += a;
這應該工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.