问题如题目,代码如下:
typedef    struct MsgHeader{
    
char MsgNo[3];
char MsgFromNodeno[6];
char MsgType[13];    
    char MsgToNodeno[4];//消息的目的节点,右对齐,左边填'0'
    
}MSGHEADER;
int main(int argc, char* argv[])
{
    char string[27]="11166666601234567891234444";
    char sMsgNo[3],sMsgFromNodeno[6],sMsgType[13],sMsgToNodeno[4];
MSGHEADER *ph=new MSGHEADER;
memset(ph,0,sizeof(MSGHEADER));
memcpy(ph,string,sizeof(MSGHEADER));


memset(sMsgNo,0,sizeof(sMsgNo));
//memmove(sMsgNo,ph->MsgNo,sizeof(ph->MsgNo));
sprintf(sMsgNo,"%.3s",ph->MsgNo);



memset(sMsgType,0,sizeof(sMsgType));
//memmove(sMsgType,ph->MsgType,sizeof(ph->MsgType));
sprintf(sMsgType,"%.13s",ph->MsgType);

memset(sMsgFromNodeno,0,sizeof(sMsgFromNodeno));
//memcpy(sMsgFromNodeno,ph->MsgFromNodeno,sizeof(ph->MsgFromNodeno));
sprintf(sMsgFromNodeno,"%.6s",ph->MsgFromNodeno);

memset(sMsgToNodeno,0,sizeof(sMsgToNodeno));
//memmove(sMsgToNodeno,ph->MsgToNodeno,sizeof(ph->MsgToNodeno));
sprintf(sMsgToNodeno,"%.4s",ph->MsgToNodeno);



   return 0;
   

}

每次调试到return 0;,sMsgType【0】显示为空,之前调试时数据都对,这是我的一个测试程序。
实例中也遇到这个问题。
请问大家怎么解决啊???
谢谢啊