在 VB 中以二进制模式向文件末尾追加内容,推荐使用 `Open` 语句结合 `Put` 或 `Put ` 语句,并设置文件模式为 `1`(追加模式)。以下是具体方法:
一、使用 `Put ` 语句追加二进制数据
```vb
Dim fileNum As Integer
fileNum = FreeFile ' 获取一个未使用的文件号
Open fileNum For Append As 1 ' 以追加模式打开文件
' 要追加的数据(示例:整数和字符串)
Dim data1 As Integer, data2 As String
data1 = 12345
data2 = "Hello, World!"
' 写入数据到文件末尾
Put 1, data1, 4 ' 写入4个字节(整数占用4个字节)
Put 1, data2, Len(data2) ' 写入字符串长度作为后续字符串的终止符
Close fileNum ' 关闭文件
```
说明:
1. 使用 `FreeFile` 获取可用文件号,避免手动指定文件名可能引发的错误。
2. 以追加模式打开文件(模式代码 `1`)。
3. 使用 `Put 1, data, Len(data)` 写入数据,其中 `Len(data)` 指定后续需要读取的字节长度(如字符串需包含终止符)。
4. 操作完成后关闭文件。
二、使用 `Open` 语句与 `LOF` 函数动态定位文件尾
```vb
Dim fileNum As Integer
fileNum = FreeFile
Open fileNum For Append As 1
' 要追加的数据(示例:浮点数和文本)
Dim data1 As Single, data2 As String
data1 = 3.14159
data2 = "追加的文本!"
' 获取当前文件位置
Dim currentPos As Long
currentPos = LOF(1)
' 写入数据到当前位置(即文件末尾)
Put 1, data1, 4
Put 1, data2, Len(data2)
' 将文件指针重置到文件开头(可选)
Seek 1, 1, 1
Close fileNum
```
说明:
1. 通过 `LOF(1)` 获取当前文件位置指针,`Seek 1, 1, 1` 将指针移动到文件开头(可选操作)。
2. 使用 `Put 1, data, Len(data)` 写入数据,系统会自动在末尾追加内容。
三、注意事项
确保写入数据的长度与实际数据长度匹配,避免数据截断或溢出。
建议使用 `On Error` 语句处理可能的文件操作错误,例如:
```vb
On Error GoTo ErrorHandler
' 文件操作代码
Exit Sub
ErrorHandler:
MsgBox "发生错误:" & Err.Description
```
操作完成后务必关闭文件,释放系统资源。
通过以上方法,可以安全地在二进制文件末尾追加数据,适用于需要高效读写大量数据的场景。