VB 字符串如何以二进文件制形式存取?

来源:百度知道 编辑:UC知道 时间:2024/05/30 14:12:17
一下代码取出来的是乱码。谁能帮分析分析哪里出问题了。如何取出正确的来?
Dim zz As String * 10
Dim ss() As Byte

zz = "abc.张"
Open "c:\tmp.dat" For Binary As #1 ' 打开源文件
Put #1, , zz
Close
'****上面是写字符串,下面是读取字符串。

Open "c:\tmp.dat" For Binary As #1 ' 打开源文件
ReDim ss(91)

Get #1, , ss()
MsgBox "文件长度:" & LOF(1)

MsgBox "读取的数:" & CStr(ss())
MsgBox "字符长度:" & Len(zz)
MsgBox ss()
Close

以上弹出的是乱码,如何才能正确取出字符串呢?是存的问题还是取的问题。帮解决一下。

MsgBox StrConv(ss, vbUnicode, &H804)

Dim zz As String * 10
Dim ss() As Byte

zz = "abc.张"
ss = zz '增加这句,不需要ReDim

Open "c:\tmp.dat" For Binary As #1 ' 打开源文件
Put #1, , ss '用Put写文件要用数组
Close

Open "c:\tmp.dat" For Binary As #1 ' 打开源文件
ReDim ss(91)
Get #1, , ss

MsgBox "文件长度:" & LOF(1)
MsgBox "读取的数:" & ss 'ss相当于字符串变量,用CStr是错的

zz = ss '要赋值
MsgBox "字符长度:" & Len(zz)
MsgBox ss
Close

Private Sub Command1_Click() '读txt
Open "c:\1.txt" For Binary As #1
Text1.Text = Input(LOF(1), 1)
Close #1
End Sub

Private Sub Command2_Click() '写入,覆盖原来的
Open "c:\1.txt" For Output As #1
Print #1, Text1.Text
Close #1
End Sub
Private Sub Command3_Click() '写入,写入原来的后面
Open "c:\1.txt" For Appen