UNICODE环境下整行读取文本文件的方法

因为要逐行处理GB18030文本文件,必须用UNICODE编码。但在用ReadString读取时总出错,网上找了代码,但只能读出前面5行,还有在文本比较上也不方便,因文本串末尾的回车符。琢磨了两天终于完全搞定。下面是有关的代码,注意红色部分。

.........

 filetxt.Open(m_filenametxt,CFile::modeRead|CFile::typeBinary);

........

  CString m_strTMP;

  filetxt.Seek(2,CFile::begin);
  ReadLine(filetxt, m_strTMP);

........

BOOL ReadLine( CStdioFile &bfile,CString &strReturn)
{
 TCHAR tc;
    CString strBuff = _T("");
    strReturn = _T("");

 while(bfile.Read(&tc, sizeof(TCHAR)))
    {
        strBuff = tc;
  if( _T("/r") == strBuff)
  {
   bfile.Seek(2,CFile::current);
   return TRUE;
  }
  strReturn += strBuff;
    }

    return FALSE;
}

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值