gpt4 book ai didi

c++ - 将 std::vector 的内容复制到 char* 缓冲区中?

转载 作者:可可西里 更新时间:2023-11-01 18:02:11 25 4
gpt4 key购买 nike

我有一个 std::vector。我想将 vector 的内容复制到一定大小的 char* 缓冲区中。

有安全的方法吗?

我可以这样做吗?

memcpy(buffer, _v.begin(), buffer_size);

还是这个?

std::copy(_v.begin(), _v.end(), buffer); // throws a warning (unsafe)

还是这个?

for (int i = 0; i < _v.size(); i++)
{
*buffer = _v[i];
buffer++;
}

谢谢..

最佳答案

std::copy(_v.begin(), _v.end(), buffer);

这是在 C++ 中执行此操作的首选方法。如果 buffer 足够大,以这种方式复制是安全的。

关于c++ - 将 std::vector<char> 的内容复制到 char* 缓冲区中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8047854/

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