cstdio fopen和fclose在osx上无法正常工作

时间:2014-10-18 12:00:02

标签: c++ fopen fclose cstdio

我通过openframeworks使用tinyxml,它使用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;
}

编辑:我现在知道该文件存在,因为它可以从中读取,我只是无法在finder中查看它,我隐藏了显示的文件,它没有进入应用程序的包内容。

1 个答案:

答案 0 :(得分:2)

在类似unix的系统(例如Mac OS X和Linux)上,Windows路径为

".\\test.xml"

应该是

"./test.xml"

无论如何,针对这种情况的最简单的解决方案可能只是

"test.xml"