代码如下:在头文件申明:
CString strTemp;
实现函数 CFile mFile;
if(mFile.Open("c:\\1.txt",CFile::modeRead)==0)
{
return;
}
ASSERT(mFile.GetPosition() == 0);
DWORD nFileSize = mFile.GetLength();
CArchive ar(&mFile,CArchive::load);
ar.Read((LPVOID)strTemp.GetBuffer(nFileSize), nFileSize/sizeof(TCHAR));
ar.Close();
mFile.Close();
strTemp里面就保留了输入的数据;但是现在我txt文件里面内容是1234,读出来后显示的内容是1234妄 ,多出来的字符是怎么回事?望指教。
CString strTemp;
实现函数 CFile mFile;
if(mFile.Open("c:\\1.txt",CFile::modeRead)==0)
{
return;
}
ASSERT(mFile.GetPosition() == 0);
DWORD nFileSize = mFile.GetLength();
CArchive ar(&mFile,CArchive::load);
ar.Read((LPVOID)strTemp.GetBuffer(nFileSize), nFileSize/sizeof(TCHAR));
ar.Close();
mFile.Close();
strTemp里面就保留了输入的数据;但是现在我txt文件里面内容是1234,读出来后显示的内容是1234妄 ,多出来的字符是怎么回事?望指教。
strTemp.RelaseBuffer();
ar.Close();
mFile.Close();
改为:
ar.Read((LPVOID)strTemp.GetBuffer(nFileSize), nFileSize/sizeof(char));试试
ar.Read((LPVOID)strTemp.GetBuffer(nFileSize+1), nFileSize/sizeof(char));