问题描述
- 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 乱码,就是说实际字符后面多了好多乱码和空格,请问这个怎么解决啊,求助啊
解决方案
这是因为文件中有空格,换行等,而且你用二进制方式读取的。你需要把读取出来的数组自己还要过滤一下
解决方案二:
字符窜最后要有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();
}