cstdio fopen и fclose не работают правильно на osx

Я использую tinyxml через openframeworks, который использует cstdio для доступа к файлам. Я могу видеть пример программы довольно счастливо создавать и записывать файлы, но нет удаления, поэтому я планирую реализовать удаление, но после попытки запустить этот код в моем собственном проекте, похоже, не создает файл или уведомляет меня о ошибка.

Этот код работает, как и ожидалось, в Windows, но не в Mac OSX 10.8.5, файл не создается.

#include <cstdio>

int main(int argc, const char * argv[])
{
    bool bClosed = false;
    bool bWritten = false;
    FILE* testFile;
    testFile = fopen(".\\test.xml", "w");
    if(testFile)
    {
       bWritten = fputs("test writing.", testFile);
       bClosed = !fclose(testFile);
    }
    return 0;
}

редактировать: теперь я знаю, что файл существует так, как его можно прочитать, я просто не могу просмотреть его в поисковике, у меня есть скрытые файлы, которые не попали в содержимое пакета приложения.

1 ответ

Решение

В Unix-подобных системах (например, Mac OS X и Linux) путь Windows как

".\\test.xml"

должно быть

"./test.xml"

В любом случае, самое простое решение для этого случая может быть просто

"test.xml"
Другие вопросы по тегам