重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
CopyMemory()函数功能描述:将一块内存的数据从一个位置复制到另一个位置。
创新互联致力于成都做网站、成都网站建设、成都外贸网站建设,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联,就选择了安全、稳定、美观的网站建设服务!
函数原型
VOID CopyMemory(PVOID Destination,CONST VOID *Source,SIZE_T Length);
参数
Destination要复制内存块的目的地址。
Source要复制内存块的源地址。
Length指定要复制内存块的大小,单位为字节
返回值该函数为VOID型,没有返回值。
备注如果目的块与源块有交叠,结果是不可预料的,使用MoveMemory可以解决这个问题。
注意一点CopyMemory和MoveMemory不过是RtlMoveMemory的一个别名而已
示例代码段
char szname[50]="阵雨";
char szfriend[]="polelf,oo";
CopyMemory(szname+4,szfriend,10);
OutputDebugString(szname);//输出结果为"阵雨polelf,oo"
vb6的声明:
Private Declare Sub CopyMemory Lib "kernel32" Alias"RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length AsLong)
因为数组是引用类型,所以直接赋值会出现这种情况
可以在kb=k后单独复制数组
kb.rr=k.rr.Clone
这样两个数组就是独立的了
之所以先kb=k是为了当其含有多个成员时值型成员可以直接复制,只需Clone引用类型的就行了
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ListboxTotalItem As Integer = ListBox1.Items.Count - 1
Dim a(ListboxTotalItem) As String
For i As Integer = 0 To ListboxTotalItem
a(i) = i
Next
Label1.Text = a(5)
End Sub
End Class
-------------
一个Form1
一个Label1
一个Listbox1
一个Button1
在Listbox1中加入10个值
-------------
只是一个演示,其他的要靠自己。