我正在为我的 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
谢谢