c++ - 如何将 `unsigned char` 连接到 `std::string` ?

标签 c++

我正在尝试将一个 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 没有 charoperator+ 重载。您可以执行以下操作:

s += 't';

但一般来说,您可能想要的是 std::stringstream:

std::stringstream ss;

ss << "uoyriri";
ss << a;

ss.str();  // The resulting string

关于c++ - 如何将 `unsigned char` 连接到 `std::string` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9350703/

相关文章:

c++ - 这是多么令人烦恼的解析?

C++ 类型 'const char*' 和 'const char [2]' 到二进制 'operator+' 的无效操作数

c++ - 从 Chrome 扩展读取 Windows 注册表

c# - 如何创建一个具有给定值 (0) 的 BCC( block 校验字符)的字节数组?

c++ - lexical_cast<T>(std::string) 的替代方案

android - mingw32-make `-j` 选项是否损坏?

c++ - 前向声明不起作用

c++ - 使用 C++ 编译函数模板时出错

c++ - 在 C++ 应用程序中嵌入特定的 Web 浏览器

c++ - 模板类中的静态函数