首页 > 解决方案 > 当长度已知时,如何连接由 void 指针指向的两个字符串?

问题描述

鉴于以下示例:

const void * x = "Foo";
size_t xLength = 3;

const void * y = "Bar";
size_t yLength = 3;

有没有一种有效的方法可以连接指向的数据(即生成"FooBar"),而无需先将两组数据复制到两个单独std::string的 s 中?这是我想到的唯一解决方案,但我觉得必须有一种更有效的方法来实现我想要的。

谢谢!

标签: c++

解决方案


无需复制到个人std::string。刚投到const char*

const void * x = "Foo";
size_t xLength = 3;

const void * y = "Bar";
size_t yLength = 3;    

std::string foobar(static_cast<const char*>(x), xLength);
foobar.append(static_cast<const char*>(y), yLength);

推荐阅读