我想将一个整数数组写入文件。 我有一个将字节写入文件的版本。字节版本工作得很好。 但是,整数数组版本没有。它抛出错误 “写失败。错误1784。”
我不知道我哪里出错了。
这是字节版本:
Public Function WriteBytes(Buffer() As Byte) As Long
If WriteFile(hFile, _
Buffer(LBound(Buffer)), _
UBound(Buffer) - LBound(Buffer) + 1, _
WriteBytes, _
0) Then
Else
RaiseError HBF_WRITE_FAILURE
End If
End Function
但是这个引发了一个错误:
Public Function WriteIntegers(Buffer() As Integer) As Long
Dim lLen&
lLen = (UBound(Buffer) - LBound(Buffer) + 1) * 4 '1 integer=4 bytes
Dim lWritten&
If WriteFile(hFile, _
Buffer(LBound(Buffer)), _
lLen, _
lWritten, _
0) Then
Else
RaiseError HBF_WRITE_FAILURE
End If
WriteIntegers = lWritten
End Function
我不确定整数版本中的错误在哪里。 有人看到了吗?
感谢您的帮助!
答案 0 :(得分:2)
lLen = (UBound(Buffer) - LBound(Buffer) + 1) * 4 '1 integer=4 bytes
应该是
lLen = (UBound(Buffer) - LBound(Buffer) + 1) * 2