打印

结构体赋值问题

[复制链接]
915|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sinadz|  楼主 | 2013-8-29 19:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
两个参数不同的结构体指针进行赋值,(DWORD)lpImage获取到的值是一个几百万的数字,
pImageData被设定的各个参数的值也是5位到10几位的数字。
不知道这些值是怎么设置出来的,pImage的内容是不是设的不对,应该怎么设?

     IMAGEDATA        *pImageData;
     lpImage = (IMAGE *)pImage;

IMAGE* image=NULL;
{
image=new IMAGE;
memcpy(image->szID, "20", 20);
memcpy(image->szShubetsu, "12", 2);
memcpy(image->szDate, "20130823", 8);
memcpy(image->szTantou, "1234567890", 10);
image->sJoudaiFlag=1;
image->sJoudaiTouroku=2;
image->sKaiinFlag=3;
image->sJokabuFlag=4;
memcpy(image->szTorihikiCode, "34", 2);
memcpy(image->szLot, "56", 2);
memcpy(image->szKeiro, "78", 2);
image->sUketsukeNo=5;
memcpy(image->szNewID, "9527", 176);
image->sKabuZeor=6;
image->sImageCnt=7;
image->sImageCnt=8;
image->cKakuFlag = '9';
memcpy(image->Yobi, "9528", 43);
}
char* str2 = (char*)image;

        pImageData = (IMAGEDATA *)((DWORD)lpImage + sizeof(IMAGE));



结构体定义如下:
typedef struct
{        char         szID[20];
char         szShubetsu[2];
char         szDate[8];
char         szTantou[10];
short         sJoudaiFlag;
short         sJoudaiTouroku;
short         sKaiinFlag;
short         sJokabuFlag;
char         szTorihikiCode[2];
char         szLot[2];
char         szKeiro[2];
short         sUketsukeNo;
char         szNewID[20];
short         sKabuZeor;
short         sImageCnt;
long         lDataLen;
char         cKakuFlag;
char         Yobi[43];
}IMAGE;

typedef struct
{        unsigned short         sSignMode;
unsigned short         sMabikiFlag;
unsigned long         lImgLen;
unsigned long         lSignLen;
unsigned short         sLineLen;
unsigned short         sLineCnt;
}IMAGEDATA;

相关帖子

沙发
无冕之王| | 2013-8-29 19:37 | 只看该作者
你这是结构体赋值吗?

使用特权

评论回复
板凳
yybj| | 2013-8-29 19:54 | 只看该作者
pImageData 是结构体指针,不是结构体变量。
主楼那两个朴素的结构体,赋值的时候直接用 = 就行了。

使用特权

评论回复
地板
vivilzb1985| | 2013-8-29 22:46 | 只看该作者
这个结构体的有些复杂的,看的不是很明白了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

304

主题

2313

帖子

0

粉丝