subject_20699.htm

来自「一些关于vc的问答」· HTM 代码 · 共 24 行

HTM
24
字号
<p>
序号:20699 发表者:武新玲 发表日期:2002-11-08 16:32:08
<br>主题:关于传递数组参数
<br>内容:我想把一个数组参数作为消息的wparam传递。该参数表示一个bitmap的图片。<BR>bitmap1={0x42,0x40,0x24,0x45,0x00,0x00,0x28......};<BR>之后用SendMessage(hCtrl,Msg1,bitmap1,lParam)<BR>在消息处理过程中,我希望取得bitmap1的长度,可是因为在数组第五位为0x00,所以用:<BR>sizeof((char*)wparam)取得为4。不知道如何才能够取出该参数的长度?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:Tuu Puu 回复日期:2002-11-08 16:58:35
<br>内容:即便第五位不是0你也不能这么干,一个bitmap那都有可能有0,类型转换是会丢失信息的(如把一个数组的地址转成指针,它就没有长度信息)<BR><BR>改成把数组的前面的四个字节存长度,在传参数前得到数组长度用memcpy拷贝到数组中去,后面跟bitmap,在函数里先把长度copy出来再从wparam[4]开始读指定长度
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小肚鸡肠 回复日期:2002-11-08 19:45:33
<br>内容:Tuu Puu:<BR><BR>数组既是一个指针,它们可以互换形式使用。如:<BR>int nArray[10] ;<BR>int *p ;<BR>...<BR>...<BR>我们可以这样使用它们:<BR><BR>p = nArray ;<BR>p[2] ; // 访问第三个数组元素
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Tuu Puu 回复日期:2002-11-09 17:57:44
<br>内容:只是想说明sizeof(p)和sizeof(nArray)的结果不一样,可能没说清楚
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?