我的缓冲区中有一个 http 请求的内容。 然后,我定义了另一个与上一个缓冲区大小相同的缓冲区。 我需要将缓冲区的内容复制到我的新缓冲区。 所以我需要的帮助是如何将一个缓冲区复制到另一个缓冲区。
我尝试了 memcpy
但它不起作用。
void TrivialMediaPlayer::DeliverMediaData(
int streamId,
bool bHasPriority,
ConstBufferSptr pMediaData)
我想要的是将 pMediaData
的内容复制到一个新的缓冲区。
BufferSptr buf1 (new Buffer (pMediaData->Size()) );
我想在 buf1
中复制 pMediaData
。
谢谢
最佳答案
我不确定您编写的确切代码是从一个 StringSptr 复制到另一个。 但如果你想
memcpy( (void*)buf1 , (void*)pMediaData , pMediaData.Size() );
您必须确保您应该在 BufferSptr 类(看起来像是您编写的类)中定义了“void*”函数,以将您的 BufferSptr 对象转换为指向内部缓冲区地址的真实 C 指针。< br/> 或者,使用一些显式调用:
memcpy( buf1.data() , pMediaData.data() , pMediaData.Size() );
关于c++ - 将缓冲区内容复制到另一个缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5309494/