您的位置:首页 > 编程语言 > VB

VB 6.0 利用CopyMemory实现 指针功能

2007-09-10 13:44 666 查看
工作需要,要用VB写一个接口程序,其中要把浮点型转成Byte数组,用到了一个API,先记录下来,以后C#中可能会用到同样的功能。

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

浮点转换Byte函数

Private Function FloatToBytes(value As Single) As Byte()

Dim returnByte(4) As Byte

Dim sPtr As Long, bPtr As Long

sPtr = VarPtr(value)

bPtr = VarPtr(returnByte(1))

CopyMemory bPtr, sPtr, 4

FloatToBytes = returnByte

End Function
Byte转换浮点函数

Private Function BytesToFloat(bytes() As Byte) As Single

Dim returnValue As Single

Dim sPtr As Long, bPtr As Long

sPtr = VarPtr(returnValue)

bPtr = VarPtr(bytes(1))

CopyMemory sPtr, ByVal bPtr, 4

BytesToFloat = returnValue

End Function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: