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;
C++ 文件读写异常处理
最新推荐文章于 2025-05-03 09:28:41 发布
本文介绍了如何使用CFile类进行文件读写操作,并展示了在处理CFileException异常时的具体案例,包括文件未找到、文件句柄不足、硬件错误等,并通过CharLowerBuff函数进行了字符转换。

2244

被折叠的 条评论
为什么被折叠?



