如何从BYTE中读取一些字节*

Vic*_*lin 2 c++ pointers memory-management bytearray

我有BYTE指针.例如,此BYTE数组的长度为10.如何从3位BYTE数组中读取4个字节?

现在我这样做了

BYTE *source = "1234567890\0";
BYTE* tmp = new BYTE[4+1]();
for(int i=0; i<4; i++)
{
tmp[i] = source[i+3];
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*tov 5

1)

 std::vector<BYTE> tmp1(source + 3, source + 7);
Run Code Online (Sandbox Code Playgroud)

2)

BYTE tmp[5];
std::copy(source + 3, source + 7, tmp);
Run Code Online (Sandbox Code Playgroud)

3)

BYTE tmp2[5];
memcpy(tmp, source + 3, 4 * sizeof(source[0]));
Run Code Online (Sandbox Code Playgroud)