0

我想将整数数组写入文件。我有一个将字节写入文件的版本。字节版本工作得很好。但是,整数数组版本没有。它抛出错误“写入失败。错误 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

我不确定整数版本中的错误在哪里。有人看到吗?

感谢您的帮助!

4

1 回答 1

2
lLen = (UBound(Buffer) - LBound(Buffer) + 1) * 4 '1 integer=4 bytes

应该

lLen = (UBound(Buffer) - LBound(Buffer) + 1) * 2 
于 2013-07-06T05:13:01.467 回答