在VB中读二进制文件时为什么像"C7"这样的数据读出来是-14440,正常应该是199才对,请各位给与指导,多谢!!!

解决方案 »

  1.   

    多谢回复!
    我用如下代码,每次读一个字符,应该没问题
    Private Sub Command1_Click()
    Open "E:\evbtest\成都数据\000000车1月19日.dat" For Binary As #1   ' 打开文件。
    Dim i As LongFor i = 0 To 199
       mychar = Asc(Input(1, #1))   ' 读入一个字符。
       MsgBox mychar
    Next iEnd Sub
      

  2.   

    建议更改如下:
    Private Sub Command1_Click()
    Open "E:\evbtest\成都数据\000000车1月19日.dat" For Binary As #1   ' 打开文件。
    Dim i As Long
    dim mychar as ByteFor i = 0 To 199
       if EOF(1) then Exit For
       Get #1, ,mychar        ' 读入一个字符。
       MsgBox mychar
    Next iclose #1
    End Sub
      

  3.   

    来晚了,同EverythingIsOK(沉默者)1.应该用二进制文件
    2.字节是Byte。VB6的String是基于Unicode的,一个字符两个字节
      

  4.   

    多谢,已解决
    在EVB中有什么区别?
    Dim MyChar As Byte
    File1.Open strfile, fsModeBinary, fsAccessReadFor i = 1 To 20
        File1.Get MyChar, 1
    Next i在EVB中运行以上代码,提示错误
    invalid file format