是这样的 定义了一个包括定长string,long,int的结构体,赋值后,直接写入二进制文件, 读取时,是否可以这样:Dim wString() as byte open fileName for binary as #1 ReDim wString(LOF(1)-1) Get #1, ,wString Close #1这样正确吗?如果正确的话, 字符串的话,可以用Chr(wString(n))之后拼成, 但int和long的怎么办呢?也就是说,读出的2byte怎么还原为int型呢?
一句话,就是怎么写的就怎么读,如下: Option Explicit Private Type mtest s As String * 40 x As Long y As Integer End TypePrivate Sub Command1_Click() '写 Dim m As mtest With m .s = "你好hello" .x = 256 .y = 123 End With Open "e:\mc\aaa.msd" For Binary As #1 Put #1, , m Close #1
End SubPrivate Sub Command2_Click() '读 Dim m As mtest Open "e:\mc\aaa.msd" For Binary As #1 Get #1, , m Close #1 MsgBox m.s MsgBox m.x MsgBox m.y End Sub
定义了一个包括定长string,long,int的结构体,赋值后,直接写入二进制文件,
读取时,是否可以这样:Dim wString() as byte
open fileName for binary as #1
ReDim wString(LOF(1)-1)
Get #1, ,wString
Close #1这样正确吗?如果正确的话,
字符串的话,可以用Chr(wString(n))之后拼成,
但int和long的怎么办呢?也就是说,读出的2byte怎么还原为int型呢?
Option Explicit
Private Type mtest
s As String * 40
x As Long
y As Integer
End TypePrivate Sub Command1_Click() '写
Dim m As mtest
With m
.s = "你好hello"
.x = 256
.y = 123
End With
Open "e:\mc\aaa.msd" For Binary As #1
Put #1, , m
Close #1
End SubPrivate Sub Command2_Click() '读
Dim m As mtest
Open "e:\mc\aaa.msd" For Binary As #1
Get #1, , m
Close #1
MsgBox m.s
MsgBox m.x
MsgBox m.y
End Sub