首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储设置/缓存的跨平台方式

问存储设置/缓存的跨平台方式
EN

Stack Overflow用户
提问于 2011-06-16 02:01:39
回答 1查看 133关注 0票数 1

我目前正在用C语言编写一个程序,它需要在磁盘上存储配置文件和各种缓存文件,以及一些静态数据文件,这些文件永远不会改变,并且可以安全地共享给所有用户。

我希望将这些文件存储在操作系统的适当位置,如果可能,以便携方式存储…

例如,在GNU/Linux上:

代码语言:javascript
复制
$XDG_CONFIG_HOME/<program_rame>/ -- for configuration files
$XDG_CACHE_HOME/<program_name>/ -- for cache files
$XDG_DATA_DIRS/<program_name>/ -- for static files

如果没有设置,我可以使用推荐的默认值("~/.config“、"~/.cache”和"/usr/share")。GNU/Linux是最简单的一个。

然而,在Windows上,我不知道如何找到与之相当的东西。我想它会在AppData的某个地方,但是在哪里呢?而且,最重要的是,我如何通过编程来实现这一点?那么其他的OSes (尤其是Mac,因为大多数其他的UNIXes也可以使用"GNU/Linux“方法)呢?

我对所有的解决方案都持开放态度,无论它是否需要库。提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-16 02:26:37

Windows已被称为known folder IDs,以前(在Vista之前)称为special item IDs, or CSIDL。例如,在FOLDERID_LocalAppData引用的文件夹(即%USERPROFILE%\AppData\Local)中可能就是您要查找的内容。我不在Windows上,因此我不知道这些值提供了哪些C-API。但是,这些文件夹也可以作为环境变量(例如%LOCALAPPDATA%)使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6362146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档