我想读取由c++写的二进制文件,这个文件是用来存放数据的,有文件头和数据两部分都是结构型,不知如何读取里面的内容,请大家帮忙。

解决方案 »

  1.   

    open filename$ for binary #filenumber'以二进制方式建立或者打开文件,然后再用
    put #filenumber,postion,inputdata'写入数据inputdata
    get #filenumber,postion,outputvarible'读出数据到outputvarible
      

  2.   

    Open commdiag1.FileName For binary As #1
    x=LOF(1)/16
    不知道你说的具体情况 估计也用到这两个语句
      

  3.   

    大致的过程应该是这样吧:'定义文件头结构
    Private Type FileHead
        f1 As 相应的类型
        f2 As 相应的类型
        ..
        fn as 相应的类型
    End Type
    '定认数据部分的结构
    Private Type FileData
        f1 As 相应的类型
        f2 As 相应的类型
        ..
        fn as 相应的类型    
    End Type
    Dim h As FileHead  ' 文件头
    Dim d As FileData  ' 数据' 以二进制方式打开文件
    Open FileName For Binary As #1Get #1, , h ‘读文件头
    While Not EOF(1)
        Get #1, , d  ‘ 读数据
        ' 处理数据
    WendClose #1 ' 关闭文件在读取过程中,由于每条记录应该是等长的,所以可以使用seek方便地定位,不必顺序读取。
    在定义结构时,要注意与C++类型相配,否则读取数据会出错。
      

  4.   

    那c++中的long和short应分别对应vb中的什么类型
      

  5.   

    没这么罗嗦吧?
    dim ss() as byte
    open s for binary as #1
    redim ss(lof(fn1)-1)
    get #1,,ss
    close #1
    全部内容都在SS里了,再进行分析就好了。