0

我不熟悉 CopyMemory,但想弄清楚如何计算复制整个数组的长度。非常感谢您的帮助。

假设有一个二维数组,其值类型包括字符串、整数、单个等。代码如下:

Private Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) 

Sub Test4()
    Dim arr(1 To 3, 1 To 2) 
    arr(1, 1) = "abc"
    arr(2, 1) = "befgh"
    arr(3, 1) = 1
    arr(1, 2) = 468888
    arr(2, 2) = 999.8
    arr(3, 2) = "ijklmnopq"
    
    Dim brr(1 To 3, 1 To 2)
    CopyMemory VarPtr(brr(1, 1)), VarPtr(arr(1, 1)), 16 * Ubound(arr) * Ubound(arr,2)
End Sub

长度不包括 arr 的范围,只是复制一些值而不是 all 。我想知道如何计算复制所有值的长度。

4

0 回答 0