我将我的iOS项目移植到Mac
我正在拯救几个文件,在iOS上,我将它保存在Documents /下的.app下,然而,通过MAC OSX,文件没有被创建
/Users/SMTH/Desktop/Development/SIO2 2/SIO2_SDK/tutorials/MyMacApp/macos/build/Debug/00_template.app/Contents/MacOS/../Documents/menustate.sav
使用
std::ofstream file;
file.open(fpath.c_str(), std::ios::out | std::ios::binary);
我正在做什么。错误。或者我无法像在iOS应用程序中那样保存在Mac OSX应用程序中(然后在MAC上保存?)
编辑:我也试过其他地方,比如
file.open("~/Documents/menustate.sav", std::ios::out | std::ios::binary);
但仍然没有创建文件
唯一可行的道路是“./” - > “./menustate.sav”,将其保存到somepath / 00_template.app / Contents / Resources'但是为什么它可以保存到Resources,而不是其他地方?
谢谢
答案 0 :(得分:1)
基本上你不应该像在OSX Apps中那样可以被多个用户使用,因此应用程序通常只能由安装程序存储,而不能由普通用户存储。
open调用是我假设通过unix open函数调用 - 如果是这样,请查看file.open的返回值,看看它是否为-1。如果是这样,那么看看全局变量errno,看看为什么它失败了。一个不错的C ++类将把它包装起来,以便在open打开的异常中给出错误。
对于MacOSX,请查看Apple where to put application files上的文档。