从C++中找到"〜/ Library/Application Support"?

Bra*_*bie 12 c++ macos

我写了一个GTKmm应用程序,我正在尝试创建一些OS X增强功能.我想将我的配置文件存储在Application Support/myApp文件夹中,但是,我找不到找到此文件夹的正确方法.

我已经尝试查看Core Foundation库(我用来获取myApp.app路径)但我找不到任何东西.

Jul*_*rgé 11

在C/C++中正确的方法:

#include <CoreServices/CoreServices.h>

FSRef ref;
OSType folderType = kApplicationSupportFolderType;
char path[PATH_MAX];

FSFindFolder( kUserDomain, folderType, kCreateFolder, &ref );

FSRefMakePath( &ref, (UInt8*)&path, PATH_MAX );

// You now have ~/Library/Application Support stored in 'path'
Run Code Online (Sandbox Code Playgroud)

当然,这些是非常古老的API,Apple不再推荐使用它们.尽管如果你想在你的代码库中完全避免使用Objective-C,它仍然可以完成工作.