qiudazhi
qiudazhi
采纳率0%
2015-04-20 06:04 阅读 3.4k

MFC一次性读取一个文件中所有字符

我想一次性读取文件中的字符串,但是我读取的时候有问题,我的代码如下

 file.Open(filePath,CFile::modeRead|CFile::typeBinery){
                char * A = new char[file.GetLength()];
                file.Read(A,file.GetLength());
                CString strResult(A);
                delete A;
                return strResult.AllocSysString();
 }

比如我文件内容是123456789,但是实际他显示123456789 乱码,就是说实际字符后面多了好多乱码和空格,请问这个怎么解决啊,求助啊

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • oyljerry oyljerry 2015-04-20 07:53

    这是因为文件中有空格,换行等,而且你用二进制方式读取的。你需要把读取出来的数组自己还要过滤一下

    点赞 评论 复制链接分享
  • longzai1216 longzai1216 2015-04-20 14:35

    字符窜最后要有0啊,晕
    file.Open(filePath,CFile::modeRead|CFile::typeBinery){
    char * A = new char[file.GetLength()+1];
    file.Read(A,file.GetLength());
    A[file.GetLength()]=0;
    CString strResult(A);
    delete A;
    return strResult.AllocSysString();
    }

    点赞 评论 复制链接分享
  • longzai1216 longzai1216 2015-04-20 14:37

    或则
    file.Open(filePath,CFile::modeRead|CFile::typeBinery){
    char * A = new char[file.GetLength()+1];
    file.Read(A,file.GetLength()+1);
    CString strResult(A);
    delete A;
    return strResult.AllocSysString();
    }

    点赞 评论 复制链接分享

相关推荐