Я использую Windows XP, использую Visual Studio 6 (да, я знаю, что она старая), создаю / поддерживаю C ++ DLL. Я столкнулся с проблемой, когда fopen не может открыть существующий файл, он всегда возвращает NULL.
Я пробовал:
Действительно странно то, что CreateFile работает, и файл можно прочитать с помощью ReadFile. Мы считаем, что это работает в сборке релиза, однако мы также наблюдаем очень странное поведение в других областях приложения и не уверены, связано ли это.
Код ниже, я не вижу ничего странного мне это кажется вполне стандартным. Исходный файл не менялся чуть меньше полугода.
HRESULT CDataHandler::LoadFile( CStdString szFilePath )
{
//Code
FILE* pFile;
if ( NULL == ( pFile = fopen( szFilePath.c_str(), "rb") ) )
{
return S_FALSE;
}
//More code
}