Как прочитать несколько байтов из BYTE * - PullRequest
2 голосов
/ 19 марта 2010

У меня есть указатель BYTE. Например, длина этого массива BYTE равна 10. Как я могу прочитать 4 байта из 3-х позиционного массива BYTE?

Теперь я делаю это так

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

1 Ответ

5 голосов
/ 19 марта 2010

1)

 std::vector<BYTE> tmp1(source + 3, source + 7);

2)

BYTE tmp[5];
std::copy(source + 3, source + 7, tmp);

3)

BYTE tmp2[5];
memcpy(tmp, source + 3, 4 * sizeof(source[0]));
...