【发布时间】:2026-02-06 21:35:01
【问题描述】:
对于某些项目,我需要发送编码消息,但我只能提供要发送的 uint8_t 向量,并且我有一个 char 数组(其中包含我转换为十六进制的数字和字符串)和数组上的指针。我将作为对象的 msg 编码到缓冲区中,然后我必须发送它并对其进行解码等。
char buffer[1024]
char *p = buffer
size_t bufferSize = sizeof(buffer)
Encode(msg,p,bufferSize)
std::vector<uint8_t> encodedmsg; //here i need to put my message in the buffer
Send(encodedmsg.data(),encodedmsg.size()) //Only taking uint8_t vector
这里是发送的原型:
uint32_t Send(const uint8_t * buffer, const std::size_t bufferSize)
我已经看过一些问题,但没有人必须在向量中替换它或转换为 uint8_t。 我考虑过 memcpy 或重新解释演员表,或者可能使用 for 循环,但我真的不知道如何在没有任何损失的情况下做到这一点。
谢谢,
【问题讨论】:
标签: c++ vector char type-conversion