VB中怎样把结构体数组读取与写入到文件?

来源:百度知道 编辑:UC知道 时间:2024/05/24 18:45:37
首先,有一个自定义的结构体Result,这个结构体是不固定长度的
接下来定义了一下数组 dim arr(1 to 1000) as Result
现在问题来了,我需要将这个arr的值写入二进制文件中(注意是整个数组写入),再从二进制数据文件中读出这个数组。
如果结构中有byte数组,应该怎样存取?

Option Explicit

'定义结构体,注意,此处如果用到字符串变量,要设置定长
Private Type typUser
uid As Long
uName As String * 10 '定长10个字符
uPWD As String * 10
End Type

Dim user(10) As typUser

'读取
Dim userGet(10) As typUser

Private Sub Form_Load()

'随便填充数据
Dim i As Integer
For i = 0 To 10
With user(i)
.uid = i
.uName = Rnd * 99999
.uPWD = Rnd * 88888
End With
Next

'保存结构体数组到文件
Open App.Path & "\save.dat" For Random As #1 Len = Len(user(0)) 'Random方式打开文件,这里的len是每条记录的长度
For i = 0 To 10
Put #1, , user(i)
Next
Close #1

'从文件中读取结构体
Open App.Path & "\save.dat" For Random As #1 Len = Len(user(0))
For i = 0 To 10
Get #1, i + 1, userGet(i)
Next
Close #1

End Sub