【发布时间】:2015-11-30 19:16:43
【问题描述】:
我希望为我的 C++ 应用程序存储一些“首选项”。
在 windows 下我知道我必须使用“AppData”文件夹,但我需要 Linux 和 OsX 的等效文件夹。
是否有一些库或可移植的方式在 C++ 中获取此类信息?
这是我目前使用的代码:
#ifdef VD_OS_WINDOWS
LPWSTR wszPath = NULL;
HRESULT hr = SHGetKnownFolderPath(FOLDERID_RoamingAppData, KF_FLAG_CREATE, NULL, &wszPath);
_bstr_t bstrPath(wszPath);
std::string strPath((char*)bstrPath);
CoTaskMemFree(wszPath);
return strPath;
#else
char* path = getenv("XDG_CONFIG_HOME");
if (!path)
getenv("HOME") + ".local/share";
return string(path);
#endif
谢谢
【问题讨论】: