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

VB 6.0 利用CopyMemory实现 指针功能

2009-08-14 11:57 344 查看
工作需要,要用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: