У меня есть приложение VC++, и в моем приложении у меня есть некоторые основные операции с файлами.Исключение при открытии файла
Ниже недобросовестный код
CStdioFile cFile;
CFileException e;
CString sReport;
CString sHtmlfile = "testreport.html"
OutputDebugString((sHtmlfile));
if (!cFile.Open(sHtmlfile,CFile::modeCreate | CFile::modeWrite, &e))
{
}
Проблема заключается в мое приложение выполняет этот кусок кода каждые несколько минут. и он отлично работает.
После нескольких прогонов кода функция cFile.Open() выходит из строя. Я пытался получить сообщение об ошибке
TCHAR szError[1024];
e.GetErrorMessage(szError,1024);
OutputDebugString((szError));
Ирония является сообщение об ошибке szError является «ошибка не произошла».
Это снова работает после перезапуска приложения. Любая идея, почему это происходит.
Заранее спасибо.
Пожалуйста, открепите свой код, чтобы он был отформатирован. (просто отметьте его и нажмите кнопку кода). –
Этот код напоминает мне, почему я ненавижу MFC. – sbi
Мое первое предположение заключалось в том, что при определенных обстоятельствах файл не закрывается. Но поскольку вы уверены, что он закрыт, какие другие процессы используют файл? Веб-браузер? Может ли что-нибудь еще читать файл (и открыть его с помощью «shareDenyWrite» или аналогичного режима) в то время, когда вы пытаетесь его открыть? – Nate