我想将任何东西的原始数据附加到short
, int
,和a or 。long long
byte
bool
char*
void*
这是我想出的:
template <typename T>
static void memcopyToBytestring(T& target, size_t targetSize, char* previeous, size_t previousSize)
{
if (target && targetSize > 0)
{
char newByteString[previousSize + targetSize];
memcpy(newByteString, previeous, previousSize); //copy old
memcpy(newByteString + previousSize, &target, targetSize); //add new
previousSize += targetSize;
previeous = new char[previousSize];
memcpy(previeous, newByteString, previousSize);
}
}
似乎有些不对劲,我什至不知道什么以及如何正确测试它(查看数据target
)
用例:我需要根据预定义的协议序列化数据以发送字节。
问题:如何正确地将数据附加到 char 数组?