当用CFile写文件时,可以用:
CString m_FilePathString ;
CFile file;
CString FileName = _T("..\\config.ini");
file.Open(FileName, CFile::modeCreate | CFile::modeWrite);
int size = m_FilePathString.GetLength();
file.Write(&size, sizeof(int));
file.Write(m_FilePathString.GetBuffer(), size*sizeof(TCHAR));//CString m_data
file.Close();
读文件,
if (file.Open(FileName, CFile::modeRead) == false)
{
m_FilePathString = _T(“”);
return;
}
int size;
file.Read(&size, sizeof(int));
TCHAR * buf = new TCHAR[size+1];
wmemset(buf, 0, size); // 注意是WMEMSET,而不是MEMSET
file.Read(buf, size*sizeof(TCHAR));
buf[size] = _T('');
m_FilePathString = buf;
delete[]buf;
file.Close();
读数据时,buf的长度需要加一,额外添加结束符,否则没有字符串结束符,会出错。