char* pBuffer = new char[0x1000];
try {
CFile file("mydoc.doc", CFile::modeReadWrite);
DWORD dwBytesRemaining = file.GetLength();
UINT nBytesRead;
DWORD dwPosition;
while (dwBytesRemaining) {
dwPosition = file.GetPosition();
nBytesRead = file.Read(pBuffer, 0x1000);
::CharLowerBuff(pBuffer, nBytesRead);
file.Seek((LONG)dwPosition, CFile::begin);
file.Write(pBuffer, nBytesRead);
dwBytesRemaining -= nBytesRead;
}
}
catch (CFileException* e) {
if (e->m_cause == CFileException::fileNotFound)
MessageBox("File not found");
else if (e->m_cause == CFileException::tooManyOpenFiles)
MessageBox("File handles not enough");
else if (e->m_cause == CFileException::hardIO)
MessageBox("Hardware error");
else if (e->m_cause == CFileException::diskFull)
MessageBox("Disk full");
else if (e->m_cause == CFileException::badPath)
MessageBox("All or part of the path is invalid");
else
MessageBox("Unknown file error");
e->Delete();
}
delete[] pBuffer;