gpt4 book ai didi

c++ - 有效地将字节数组附加到字符串 C++

转载 作者:行者123 更新时间:2023-11-28 04:14:15 25 4
gpt4 key购买 nike

我正在处理几个字节数组 block (uint_8) 并将它们附加到一个字符串 (my_string)。为了提高效率,我通过

为我的字符串保留了足够多的字节
my_string.reserve(more_than_enough_bytes);

我正在尝试附加每个 block ,如以下函数所示:

bool MyClass::AppendToMyString(uint_8* chunk, size_t chunk_num_bytes) {
memcpy(const_cast<uint_8*>(my_string.data()), chunk, chunk_num_bytes);
return true;
}

但问题是memcpy 没有更新my_string 的大小。因此,下次调用此函数时,除了为它使用单独的变量外,我不知道最后一个元素在哪里。有什么想法吗?

最佳答案

std::string 有一个 append将处理此问题的方法。类似的东西:

void append_chunk (std::string &s, const uint8_t* chunk, size_t chunk_num_bytes)
{
s.append ((char *) chunk, chunk_num_bytes);
}

Live demo

关于c++ - 有效地将字节数组附加到字符串 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57013944/

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