不如我本地25M的文件,我只要截断成20M的文件,只取前20M文件 内容

解决方案 »

  1.   

    用CFile打开,然后用Read读取一个20MB的Buffer,最后再用Write把刚刚Buffer写一个新的文件!
      

  2.   

    打开文件,读取文件的前面20M,保存到一个临时的文件,删除原文件,重新创建该文件,并从临时文件写入就行了。可以参考一些文件分割的文章。如何将一个文件分割成多个小文件http://www.pcvc.net/category/content.asp?sendid=23
      

  3.   

    FileOpen();
    ReadOpen();
    CreateFile();
    WriteOpen();
    CloseFile();都不可以?
      

  4.   

    SetFilePointer
    SetEndOfFile
    具本用法可查看msdn
      

  5.   

    OpenFile( file ....);
    SetFilePointer( hHandle , ..., 1024*1024*20 , ... , FILE_BEGIN);
    SetEndOfFile();
    CloseFile();大概过程就上面四句,中间什么错误及异常处理就看你自己的要求自己写了。
      

  6.   

    对了打开文件windows api 是通过这样实现的,如
    m_hFile = ::CreateFile(m_strFileName,
    GENERIC_READ,
    FILE_SHARE_READ,
    NULL,
    OPEN_EXISTING,
    0,NULL);加标志 OPEN_EXISTING