VC++: возникли проблемы с открытием файла внутри папки с помощью fopen() в

У меня возникают проблемы с открытием файла для чтения, но только если он находится внутри папки. Я использую Visual Studio 2010 и помещаю папки с файлами в папку «Отладка» с .exe и запускаю ее, просто щелкнув .exe (не из VS). Код, который не работает:

FILE* FileHandle = fopen("./maps/1.area", "r");

if(FileHandle == NULL) {
    return false;
}

FileHandle всегда имеет значение NULL. Код работает нормально, если я перемещаю 1.area в ту же папку, что и exe, но если я перемещаю его на уровень ниже, он не работает. Тот же самый стиль пути к файлу работает, когда я использую метод SDL для открытия растрового изображения, поэтому я не могу понять, почему он не работает с fopen.


person rkevingibson    schedule 24.06.2012    source источник
comment
обратная косая черта против косой черты?   -  person phonetagger    schedule 25.06.2012
comment
Существуют ли ваши карты каталогов?   -  person Kirill Kobelev    schedule 25.06.2012
comment
Да, /maps существует, и я пробовал как обратную косую черту (правильно экранированную), так и прямую косую черту.   -  person rkevingibson    schedule 25.06.2012


Ответы (1)


Да, приятель, я хочу сказать следующее: fopen() является частью стандартной библиотеки C, а не «стандартной библиотеки SDL». Хотя SDL может разрешать использование слэш-стилей, держу пари, что fopen() — нет.

person phonetagger    schedule 24.06.2012