Неожиданное afxthrowfileexception в cstdiofile :: read ()C++

Программы на C++. Форум разработчиков
Гость
Неожиданное afxthrowfileexception в cstdiofile :: read ()

Сообщение Гость »

Я использую cstdiofile :: read в приложении MFC, а в коде MFC Sourc я заметил, что исключение добавлено в следующем условии:
fileTxt. CPP в функции uint cstdiofile :: read

Код: Выделить всё

if ((nRead = (UINT)fread(lpBuf, sizeof(BYTE), nCount, m_pStream)) == 0 && !feof(m_pStream))
AfxThrowFileException(CFileException::genericException, _doserrno, m_strFileName);
< /code>
 Вопросы: < /h5>

 Каковы возможные причины для запуска этого исключения? < /li>
 Может ли это быть связано с разрешениями файлов, блокировки или ошибок дисков? < /li>
 Как я должен правильно обработать это исключение, чтобы различить различные сценарии сбоев? 0 
означает, что байты не были прочитаны, но, поскольку feof (m_pstream) неверно, это предполагает, что EOF не был достигнут. : Read , мы проверили, что файл открыт с помощью функции cstdiofile :: open .

Подробнее здесь: https://stackoverflow.com/questions/794 ... iofileread

Вернуться в «C++»