比如文件大小为:2048个字节,现在我想把它截短,就是把最后的几个字节去掉,比如去掉3个字节,这个应该怎么操作呢??谢谢!

解决方案 »

  1.   

    可以先读到CString中,然后用Left函数截取需要留下的子串,再写回文件
      

  2.   

    如果你使用的是c库中的FILE *这一类的方法
    可以这样用
    FILE *fp;
    _chsize (_fileno (fp));如果你是用的Win32APISetFilePointer ();    //  移动到2048-3字节处
    SetEndOfFile (hfile); // 将此处设为文件尾
      

  3.   

    _chsize我刚才少写了一个参数_chsize (_fileno (fp), 2048-3);
      

  4.   

    我用的是CFILE,请问能不能给个例子??谢谢
      

  5.   

    CFile m_File;
    if(!m_File.open(.....))
    {
       long length = m_File.GetFileLength()// may be this function
       length -= 3;
       CString str
       m_File.Read(str,length ......);
       m_File.SeekToBegitn()
       m_File.Write(.....);
       m_File.Close();
    }
      

  6.   

    CFile fileModify;
    fileModify.SetLength(2045);
      

  7.   

    不用读文件,那样效率太低
    CFile file;
    file.Open(filename, CFile::modeReadWrite);
    DWORD dwLen = file.GetLength();
    dwLen -= 3;
    file.SetLength(dwLen);
    file.Close();