永发信息网

C++ DLL编程,unsigned char * 赋值问题

答案:2  悬赏:0  手机版
解决时间 2021-02-15 13:25
i nt SDT_ ReadBaseMsg (
int iPort,
unsigned char * pucCHMsg,
unsigned int * puiCHMsgLen,
unsigned char * pucPHMsg,
unsigned int * puiPHMsgLen,
int iIfOpen
);
参数说明:
iPort
[in] 整数,表示端口号。参见 SDT_OpenPort。
pucCHMsg
[out] 无符号字符型指针,指向读到的文字信息,其长度由 puiCHMsgLen 参数
输出。该指针指向的存储空间由调用者分配,不得小于 256 字节。
puiCHMsgLen
[out] 无符号整型数指针,指向读到的文字信息长度,最长 256 字节。
pucPHMsg
[out] 无符号字符型指针,指向读到的相片信息,其长度由 puiPHMsgLen 参数
输出。该指针指向的存储空间由调用者分配,不得小于 1024 字节。
puiPHMsgLen
[out] 无符号整型数指针,指向读到的相片信息长度,最长 1024 字节。
iIfOpen
[in] 整数,参见 SDT_ResetSAM

上面是函数的详细说明,写成一个DLL文件,给
unsigned char * pucCHMsg,
unsigned int * puiCHMsgLen,
unsigned char * pucPHMsg,
unsigned int * puiPHMsgLen,
这个4个参数赋值,这4个参数是接收值
在外部调用时传递出去,赋值无法解决,求解答
最佳答案
需要传出的参数内容首先要在调用者那分配内存,DLL内部只能进行数据copy动作,否则就传不出去
全部回答
1、直接使用memse函数给数组赋值即可。 2、memset()的函数, 它可以一字节一字节地把整个数组设置为一个指定的值。 memset()函数在mem.h头文件中声明,它把数组的起始地址作为其第一个参数,第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。其函数原型为: void *memset(void*,int,unsigned); 其中void*表示地址 memset()的第一个实参是数组名,数组名作参数即数组作参数,它仅仅只是一个数组的起始地址而已。 实现第一个memset()函数调用的内存布局见图7-3。 在函数memset()栈区,从返回地址往上依次为第1,2,3个参数。第1个参数中的内容是main()函数中定义的数组ia1的起始地址。第2个参数是给数组设置的值(0),第3个参数是数组的长度(50*2)。函数返回时,main()函数的数组中内容全置为0。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
女性第二性征在何年龄发育应考虑有性早熟问题
太阳雨太阳能·净水机这个地址在什么地方,我
安徽专升本一年有几次,几月份考试?
个性霸气的游戏名字
沙洋县荆门荣事达净水机沙洋总经销怎么去啊,
刚上市就公布亏损消息 国科微到底怎么了
. I thought of him as my best friend until
霸王防脱育发膏用完可用护发素吗 头发太干
红【】斗【】这个词语怎么填
极度山东二哥运动会所地址有知道的么?有点事
婴儿咳嗽怎么办
掇刀区荆门天净管地址有谁知道?有点事想过去
新潮家具店这个地址在什么地方,我要处理点事
嵌入式开发,哪个方向比较好找工作?是底层驱动
信用卡,兴业银行和交通银行哪家的好一点?
推荐资讯
歌词有句“不知不觉爱对你没保留”是什么歌?
东辰小区东门地址在什么地方,想过去办事
如何删除循环引用
福润士多在哪里啊,我有事要去这个地方
做westernblot可不可以用非变性电泳
女朋友说我烦,让我不要管她,但我不管她,她
车到哪app中显示的北京公交5位车编号是什么意
长春-农安人民广场什么时候发车最早的那班车
芙蓉区长沙蔚然锦和超市(语欣便利店)怎么去啊
【心在哪里收获就在哪里】心在哪里行动就在哪
AMD的哪些主板的芯片组是集成显卡的,哪些芯
母婴奶粉店在什么地方啊,我要过去处理事情
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?