你可以用SetFilePointer或SetFilePointerEx,用CreateFile来打开文件.其实,CreateFile是创建或打开文件的最稳妥的函数.

解决方案 »

  1.   

    我的文件缓存FILE *stream是边读边写(读数据是一个线程,写数据一个线程),读数据通过fseek()函数定位自己要读取的数据流,但是当写的数据很多时,读数据能指到的点最大为long,比long还大的数据就没有办法取了,用lDistanceToMove函数能指到的最大的点也是long呀?那文件后部分的数据还是没法读呀?
    还有用fopen()打开文件和CreateFile()打开有什么区别呢?
      

  2.   

    CFile可以解决超出范围的问题吗?
      

  3.   

    ReadHuge开始读的位置怎么控制呢?
      

  4.   

    long的最大值是2GB,好象操作系统最多就支持这么大的文件吧.
    Window 32位内存,分成了两个2GB段,超过这个大小,内存也没发容纳.
    最好还是想法不要让文件大小超过2GB吧.