gpt4 book ai didi

c++ - boost::shared_array 到 std::string

转载 作者:太空宇宙 更新时间:2023-11-04 16:01:29 28 4
gpt4 key购买 nike

转换 boost::shared_array<char> 的最佳方法是什么?到 std::string ?以下代码片段有效,但看起来不是很优雅。

boost::shared_array<char> boostString = DatabaseFileName.GetCString(CZString::eAscii);
std::string stdString;
for(size_t i = 0; boostString[i] != 0; i++)
{
stdString.append(1, boostString[i]);
}

最佳答案

Boost shared array使用 new[] 分配它的数据,这意味着它在内存中都是连续的。这意味着您可以获得指向第一个元素的指针作为 C 风格字符串,您可以从中创建一个 std::string 实例。

这当然需要数据有终止符,或者让您知道“字符串”的长度。

关于c++ - boost::shared_array<char> 到 std::string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43088360/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com