const char * tag1[]={"abc","xyz"};
如何在std :: string中转换tag1?
std::string tag2(tag1)
它只是将tag1 [0]复制到tag2。我想要的是将整个tag1数组转换为字符串。
任何想法或解决方法?
答案 0 :(得分:4)
由于您想要将C字符串数组合并为一个std :: string,您可以这样做:
std::string tag2;
for (auto ptr : tag1) {
tag2.append(ptr);
}
迭代C-strings数组并将它们附加到目标std :: string。
将tag1数组直接复制到预先分配的std :: string不会起作用,因为tag1中每个C字符串末尾的空终止符。您将获得abc\0xyz
,而不是abcxyz