char *address;
int intBytesReceived;
typedef struct tagSPS { //定义结构
char timemask[10]; //品名
char Source[25]; //源IP地址
char destination[25]; //目的ip地址
char size[10]; //大小
char type[15]; //类型
char info[10];
char data[8192];
int length;
} SPS;
SPS Sps[1];
for(i = 0 ;i <intBytesReceived;i++)
Sps[0].data[i] =*(BYTE*)(address+i);这样为什么不能将address指向的字符都存进data[i]?????很多字符用02x格式显示出来时候成了00.为什么??
int intBytesReceived;
typedef struct tagSPS { //定义结构
char timemask[10]; //品名
char Source[25]; //源IP地址
char destination[25]; //目的ip地址
char size[10]; //大小
char type[15]; //类型
char info[10];
char data[8192];
int length;
} SPS;
SPS Sps[1];
for(i = 0 ;i <intBytesReceived;i++)
Sps[0].data[i] =*(BYTE*)(address+i);这样为什么不能将address指向的字符都存进data[i]?????很多字符用02x格式显示出来时候成了00.为什么??
为什么不这么写?
Sps[0].data[i] =address[i];
memcpy(Sps[0].data, address, ntBytesReceived);