2
我有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];
}
我有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];
}
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]));
投票赞成std :: copy。为什么我永远不会记得存在? – jcoder 2010-03-19 09:06:04
这看起来是正确的,什么是问题? – jcoder 2010-03-19 08:50:53
为什么'void-pointers'标签? – dirkgently 2010-03-19 08:57:40
新的陈述看起来不正确 - 为什么在[]之后的一组禁忌?为什么不根据你的需要使用字符串/矢量? – 2010-03-19 09:01:01