vb中读取dat文件的语句是这样的
Seek #10, 14
        Get #10, , lo
        lo = lo / 6 - 20
vc中的读取语句是这样的
file.Seek(24,CFile::begin);
m_k = (file.GetLength()-23)/6-20;
这个位置不一样是因为读取的不同 这地方没错  主要是  vc读取的数据后面全是空白了 也算上了  所以每次vc读取都会比vb的语句长大概六百多字节数   希望大牛们帮解决下

解决方案 »

  1.   

    http://baike.baidu.com/view/394293.htm
    用内存映射方式读那个.dat文件,获取到头指针,就可以操作
      

  2.   

    file.Open("dg"+str2+".dat",CFile::modeRead);
    file.Seek(24,CFile::begin);
       您好  这是我读取的语句
      

  3.   

    我读取的是相对路径 就是放在文件夹下  现在是能读取但是vb能判断后面都是空的00数据就不读取了  而vc却读取了一堆00数据
      

  4.   

    你这哪里读了?
    Open是打开
    Seek是设置文件指针
    read才是读啊
      

  5.   

    确实读了  file.open里有modeRead  这就是读取文件啊
      

  6.   

    可能是VB的读语句自动把空白的字符串过滤掉了用VC的话,如果你要,可以自己写代码过滤掉空白的字符串啊。比如,过滤连续的50个空白字符串
      

  7.   

    哦哦  读取的语句就是file.GetLength()这个啊0 0 
      

  8.   

    我需要读取的就是文件的长度 有多少帧  vb上是Get #10, , lo
    vc上要先读取才能知道长度么?  
      

  9.   

    我读取数据是按照 file.Read(m_arr1,6);循环读取数据   长度是按照file.GetLengh做判断的