UNICODE環境下整行讀取文字檔案的方法
阿新 • • 發佈:2019-01-23
因為要逐行處理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;
}