如何把一结构体拷贝到一块连续的内存空间?
我定义如下结构
Private Type CLIENT_SENDDATA
strType As String * 30
strname As String * 21
End Type
Dim data as CLIENT_SENDDATA
我想把data用WINSOCK.SENDDATA发送出去,需把data拷贝
到一块连续的内存空间.请问要怎么做?
谢谢!
...全文
1253打赏收藏
如何把一结构体拷贝到一块连续的内存空间
如何把一结构体拷贝到一块连续的内存空间? 我定义如下结构 Private Type CLIENT_SENDDATA strType As String * 30 strname As String * 21 End Type Dim data as CLIENT_SENDDATA 我想把data用WINSOCK.SENDDATA发送出去,需把data拷贝 到一块连续的内存空间.请问要怎么做? 谢谢!
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Dim data as CLIENT_SENDDATA
dim str1 as string
call CopyMemory ,Str1,data, len(data)
Option Explicit
Private Type aa
x As Long
y As Long
End Type
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Sub Command1_Click()
Dim b(0 To 7) As Byte
Dim a(0 To 0) As aa
a(0).x = 65 'A
a(0).y = 66 'B
CopyMemory b(0), a(0), 8
Dim i As Integer
For i = 0 To 7
Debug.Print b(i)
Next i
End Sub