[英]where I can store data /C++, Linux, QtCreator
我在 QtCreator 中有一个小程序,但是我可以在其中存储来自用户的数据,如果该程序没有 root 权限来创建目录,例如在 /usr/bin/myappname 中。 我不能拥有root权限,因为我的程序像appimage一样分发,我喜欢像普通用户一样启动该图像,而不是root。 也许我可以将数据存储到 /home/user/myappname 但如果用户在他的操作系统主目录中有其他语言,则不必存在。
我可以在哪里存储数据/C++
如果该程序没有root权限
一种方法是让 package 管理器在安装程序时创建具有超级用户权限的目录。 此方法仅在使用 package 管理器安装程序时有效。 这是服务器等守护进程的典型选择。
另一种方法是将数据存储在用户的主目录中,该进程可能具有创建目录的权限。 这是交互式应用程序的典型选择。
您应该存储数据的确切位置取决于您运行该过程的系统。 不同的操作系统有不同的约定。 它还取决于您存储的数据类型。 是暂时的吗? 它依赖于 CPU 架构吗? 是为了配置吗? 是日志文件吗?
对于 Linux 和其他 POSIX 系统,请遵循XDG Base Directory Specification 。 还要学习Filesystem Hierarchy Standard 。 对于其他系统,请查阅他们的文档以了解最佳实践。
我可以将数据存储到 /home/user/myappname 但如果用户在他的操作系统主目录中有其他语言,则不必存在。
不要假设主目录的路径。 使用HOME
环境变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.