为什么我用 Put 写入数据总是多出一个字节?

来源:百度知道 编辑:UC知道 时间:2024/06/14 00:54:33
我把 bb(0 to 7) As Byte 用 Put 写入到一个文件
为何总是多出一个字节呢?本来是八个字节 多出一个字节来

Private Sub Form_Load()
Dim aa(0 To 1) As Long
aa(0) = &H11223344
aa(1) = &HAABBCCDD
Dim bb(0 To 7) As Byte
CopyMemory bb(0), aa(0), 8 '把 aa 灌入 bb 数组
Open App.Path & "\aaaaaaaaaaaa" For Binary As #1
Put #1, , bb
Close #1
End Sub

文件大小不是 8 字节,而是 9 字节,怎么回事?

我用你的代码测试不是这样的结果啊

Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSrc As Any, ByVal ByteLen As Long)

Private Sub Form_Load()
Dim aa(0 To 1) As Long
aa(0) = &H11223344
aa(1) = &HAABBCCDD
Dim bb(0 To 7) As Byte
CopyMemory bb(0), aa(0), 8 '把 aa 灌入 bb 数组
Debug.Print UBound(bb) ''''''''''''''''''''''''''''''''''
Open App.Path & "\aaaaaaaaaaaa" For Binary As #1
Put #1, , bb
Close #1
Debug.Print FileLen(App.Path & "\aaaaaaaaaaaa") '''''''''''''''''''''''''''''''
End Sub

输出结果:
7
8