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.为什么??void CPacket::OnButton1() 
{    int c= 0 ,j=0,tail = 0;
int k = 0;
char dddd[8192];
char ddd[128];char tmp[8];
while(c<m_intLength)
{
k++;

int j;
        sprintf(ddd,"%08X:",c);//写地址

for (j=0;j<16;j++)
{
sprintf(tmp," %02X",0xFF & packet_value[c+j]);
if( 7==j )  strcat(tmp," ");
strcat(ddd,tmp);
}
strcat(ddd," ; ");

for (j=0;j<16;j++)
{
if(isprint(0xFF & packet_value[c+j]))
{
tmp[0]=packet_value[c+j];tmp[1]=0;
}
else
tmp[0]='.';tmp[1]=0;
strcat(ddd, tmp);
}
    strcat(dddd,ddd);
strcat(dddd,"\n");
c = k*16;

} //读最后字节(不能被16整除剩下的)
tail = m_intLength - (c-16);
if((tail>0)&&(tail<16))
{
sprintf(ddd,"%08X:",c);//写地址
for (j=0;j<tail;j++)
{
sprintf(tmp," %02X",0xFF & packet_value[c+j]);
if( 7==j )  strcat(tmp," ");
strcat(ddd,tmp);
}
strcat(ddd," ; ");

for (j=0;j<tail;j++)
{
if(isprint(0xFF & packet_value[c+j]))
{
tmp[0]=packet_value[c+j];tmp[1]=0;
}
else
tmp[0]='.';tmp[1]=0;
strcat(ddd, tmp);
}

strcat(dddd,ddd); } CString kk;
kk.Format("%s",dddd);
MessageBox(kk,"LDF");
m_packet = kk;
UpdateData(FALSE);
}