gpt4 book ai didi

c++ - 将我的 c++ 程序的数据保存在 linux 文件系统中的什么位置以便能够访问它?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:02:54 24 4
gpt4 key购买 nike

好的,我正在创建一个 C++ 程序,目前在 Linux 上。该程序将数据保存到需要访问和写入的文件中。我正在努力将我的程序安装到/usr/local/bin ,但是程序相关/必需的文件通常存储在哪里?

将文本文件放在/etc 中是行不通的,因为除非我使用 sudo 权限调用我的程序,否则我无法写入该文件。同样,出于同样的确切原因,/usr/local/share 和我的程序的目录也不起作用。

这个问题的典型解决方案是什么,或者人们如何解决这个问题?我应该在哪里存储我的程序需要读取和写入的文件?我不确定我的问题措辞是否有误,但实在无法在网上找到对此的任何见解。

最佳答案

你说你在命令行中很高效。假设您正在编写一些 shell 脚本而不是 C++ 来完成这项工作,您将在哪里存储其配置和数据文件?

概念不会因语言而改变。

如果该工具是全局的,用户通常只打算在每台(虚拟)机器上运行一个,您可以将只读配置放在 /etc/<tool> 中,以及您在 /var/lib/<tool> 中的数据, 以 root 身份运行,但尽早放弃特权。

如果该工具是针对每个用户的,其中多个用户可能希望同时使用它并可能使用不同的设置,您可以在/etc 中进行全局配置,并在 ~/.config/<your-app> 中进行用户覆盖。 .你的数据将进入 ~/.local/<your-app> .

而且这一切都不会因语言而异。改变的是你如何将字符串拼凑成你想要读取的路径,你如何读取文件等,以及跨平台(Windows 和 Mac 的相同问题会给出不同的答案)但这不是你的问题包含。

我认为您走在正确的轨道上,我认为与“C++”部分相关的只是一些混淆,而这实际上并没有改变问题的答案。

关于c++ - 将我的 c++ 程序的数据保存在 linux 文件系统中的什么位置以便能够访问它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55543027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com