读书人

新手一小段代码看不懂请大家指点一下解

发布时间: 2012-02-15 12:09:44 作者: rapoo

新手一小段代码看不懂请大家指点一下
代码如下:

C/C++ code
void putDword(char *packet, DWORD v, int &pos){        *(DWORD*)(packet + pos) = v;    pos += sizeof(DWORD);}


问题1是 *(DWORD*)(packet + pos)这部分到底是什么
packet + pos我的理解是移动指针改变地址
(DWORD*)我的理解是转换为这个类型的
然后在前面在加一个*是地址吗?
如果是地址那么为什么后面还有一个=v这又是干什么

新手学习c++请大家指点一下

[解决办法]
将变量v的值赋到地址 packet + pos 处,然后 pos 位置向后偏移 DWORD 字节。

应该是编码用
[解决办法]
char pack[128] = "aaaaaaaaaaaaaaaaaaaa";
int pos = 4;
int v = 0x62626262; //0x62==98,为b的ASCII码,一个DWORD四个字节
*(DWORD*)(pack + pos) = v; //这句执行完后 pack[128] = "aaaabbbbaaaaaaaaaaaa";

读书人网 >C++

热点推荐