提问者:小点点

在那里我可以存储数据/C++,Linux,QtCreator


我在QtCreator中有一个小程序,但如果程序没有root权限(例如在/usr/bin/myappname中)创建dir,我可以在其中存储来自用户数据。 我不能拥有root权限,因为我程序是像appimage一样分发的,我喜欢像普通用户一样启动映像,而不是root。 也许我可以将数据存储到/home/user/myappname,但是如果用户在他的OS中有其他语言,home dir就不必存在。


共1个答案

匿名用户

我可以存储数据的地方/C++

如果程序没有根权限

一种方法是让包管理器在安装程序时创建具有超级用户权限的目录。 此方法仅在使用包管理器安装程序时起作用。 这是服务器等守护进程的典型选择。

另一种方法是将数据存储在用户的主目录中,在该主目录中,进程可能具有创建目录的权限。 这是交互式应用程序的典型选择。

存储数据的确切位置取决于运行进程的系统。 不同的操作系统有不同的约定。 它还取决于您存储的是哪种数据。 是暂时的吗? 是否依赖于CPU架构? 是为了配置吗? 是日志文件吗?

对于Linux和其他POSIX系统,遵循XDG基本目录规范。 同时研究文件系统层次标准。 对于其他系统,请查阅其文档以了解最佳实践。

我可以将数据存储到/home/user/myappname,但如果用户在其OS中有其他语言,home目录就不必存在。

不要假定主目录的路径。 请使用home环境变量。

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(在那里|存储|数据|c++|linux|qtcreator)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?