由于Unicode编码格式的文件,文件是以FF,FE开始的,所以,在读取是,要跳过这两个字节。
BOOL UNReadString(CFile *InputFile, CString &strReturn)
{
TCHAR tc;
CString strBuff = _T("");
strReturn = _T("");
while(InputFile->Read(&tc, sizeof(TCHAR)))
{
strBuff = tc;
if(_T("/n") != strBuff)
{
strReturn += strBuff;
}
else
{
strReturn.Trim();
return TRUE;
}
}
if (strBuff != _T(""))
return TRUE;
else
return FALSE;
}
void UNWriteString(CFile* InputFile, CString strValue)
{
TCHAR ct;
int nLength = strValue.GetLength();
for (int i = 0; i < nLength; i ++)
{
ct = strValue[i];
InputFile->Write(&ct, sizeof(TCHAR));
}
ct = _T('/r');
InputFile->Write(&ct, sizeof(TCHAR));
ct = _T('/n');
InputFile->Write(&ct, sizeof(TCHAR));
}
CFile file;
if (file.Open(strErrFilePath, CFile::modeRead))
{
file.Seek(2, CFile::begin);
while (UNReadString(&file, strErr))
{
}
UNWriteString(&file, _T("test1"));
UNWriteString(&file, _T("test2"));
}