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个回答

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

字符窜最后要有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();
}

或则
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();
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问