能读取Unicode编码格式的ReadString和WriteString函数

由于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"));

 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值