我用CFile::GetLength来判断是否将数据从文件读取完毕,我根据这个长度将读出的数据写入我新建的另一个文件中,结果在新的文件里写的是乱码
如何根据文件数据的实际长度发送文件?
多谢急
再线等(请问他返回的文件长度是指文件内容的长度还是什么长度)

解决方案 »

  1.   

    你是不是用CStdioFile文本的方式打开?
      

  2.   

    怀疑你在写入新文件的时候是否定位好写入的位置。
    如果你仅仅想拷贝一份文件还不如用API函数CopyFile快。
      

  3.   

    CFile File;
    CFile wFile;
    BYTE* pByte;
    if(File.Open("C:\\Txt.txt",CFile::modeRead))
    {
    int Len = File.GetLength();
    pByte = new BYTE[Len];
    if(pByte == NULL)
        File.Close();
    File.Read(pByte,Len);
    if(wFile.Open("C:\\anotherFile.txt",CFile::modeWrite))
    {
    wFile.Write(pByte,Len);
    wFile.Close();
    }
    File.Close();
    }
    试试看吧
      

  4.   

    你在pByte = new BYTE[Len];
    这一句时进行一下初始化看看怎么样??
    比如全部付初值0值类的!