gpt4 book ai didi

c++ - Mac 应用程序的文件保存位置

转载 作者:行者123 更新时间:2023-11-28 08:18:58 26 4
gpt4 key购买 nike

我正在将我的 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' 但为什么可以它保存到资源,而不是其他地方?

谢谢

最佳答案

基本上你不应该因为在 OSX 中应用程序可以被多个用户使用,所以应用程序通常被存储为只能由安装程序而不是普通用户写入。

公开调用是我假设通过 unix 调用 open函数 - 如果是,查看 file.open 的返回值,看看它是否为 -1。如果是这样,那么查看全局变量 errno,看看它失败的原因。一个体面的 C++ 类将把它包装起来,在 open 抛出的异常中给你错误。

对于 MacOSX,请查看 Apple 的文档 where to put application files .

关于c++ - Mac 应用程序的文件保存位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6650554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com