菜鸟一只
现在想把一个文件里的内容读取出来拷贝到另一个文件里
CFile file(FindFileData.cFileName,CFile::modeRead);
char *readBuf;
DWORD dwFileLen;
dwFileLen = file.GetLength();
readBuf = new char[dwFileLen+1];
readBuf[dwFileLen]=0;
file.Read(readBuf,dwFileLen);
file.Close();
MessageBox(readBuf);
FindFileData是前面获取的一个.txt的文件的信息,调试的时候FindFileData.cFileName里确实是想获得的文件的文件名
可是readBuf里就是没有该文件的内容。。
菜鸟真心求助。。大神不要笑话我。。

解决方案 »

  1.   

    先确认一下读的是不是文本文件吧
    如果文件中的第一个字节就是0,那么用messagebox把内容当做文本显示的时候就是个空串
      

  2.   

    dwFileLen = file.GetLength();
    这里修改为:
    file.SeekToEnd();
    dwFileLen = file.GetLength();
    file.SeekToBegin();
      

  3.   


    哥,我改了。。
    没用。。readBuf里仍然没有值
      

  4.   

    file.Read(readBuf,dwFileLen);
    在这句后面加
    readBuf[dwFileLen]='\0';
      

  5.   

    file.Read(readBuf,dwFileLen);检查他的返回值,看读到了多少个字节
      

  6.   

    谢谢楼上诸位大神
    CFile file(FindFileData.cFileName,CFile::modeRead);
    我是这里错了
    前面那个参数必须要带路径的,我这里传的只是一个文件名。。