二进制方式打开文本,代码如下:BOOL CHexShowDoc::ReadFileAndProcess(CString &strLine,LONG l0ffset)
{
LONG lPos;
if (l0ffset!= -1L)
lPos = m_pHexFile->Seek(l0ffset,CFile::begin);
else
lPos = m_pHexFile->GetPosition();
unsigned char szBuf[16];
int nRet = m_pHexFile->Read(szBuf, m_nBytesPerLine);
if (nRet <= 0)
return FALSE;
CString sTemp;
CString sChars;
sTemp.Format(_T("%8.8lX : "), lPos);
strLine = sTemp;
for (int i = 0; i < nRet; i++)
{
if (i == 0)
sTemp.Format(_T("%2.2X"), szBuf[i]);
else if (i % 16 == 0)
sTemp.Format(_T("=%2.2X"), szBuf[i]);
else if (i % 8 == 0)
sTemp.Format(_T("-%2.2X"), szBuf[i]);
else
sTemp.Format(_T("%2.2X"), szBuf[i]);
if (_istprint(szBuf[i]))
sChars += szBuf[i];
else
sChars += _T('.');
strLine += sTemp;
}
if (nRet<m_nBytesPerLine)
{
CString sPad(_T(' '),2+3*(m_nBytesPerLine-nRet));
strLine +=sPad;
}
strLine+=_T("");
strLine+=sChars;
return TRUE;}谁能帮我解释下代码意思,多多益善·麻烦各位了