我正在为 Linux 编写一个 C++ 程序,它在工作期间在磁盘上创建一些文件。这些文件包含有关程序内部对象状态的信息,以便程序下次启动时读取这些文件以恢复上一次 session 。其中一些文件也在执行期间被读取/写入以读取/写入一些变量值。问题是修改/重命名/删除这些文件会导致未定义的行为、段错误和其他意外导致程序崩溃。我当然不会限制用户访问他/她机器上的文件,但在程序内部,我总是可以在访问文件之前检查文件是否已被修改,以至少防止程序崩溃。它会涉及许多额外的检查并使代码更大。
问题是处理此类问题的良好做法是什么?我应该如此偏执,还是只是期望用户足够聪明,不会弄乱程序文件?
最佳答案
首先,检查您的资源是否值得付出努力。用户甚至会想要跟踪和编辑这些文件吗?
如果是这样,我的建议是:不要担心文件是否已被修改。相反,您应该验证您获得的输入(从文件中)。
这可能不是最令人满意的答案,但错误处理是编程的重要组成部分,尤其是在输入验证方面。
假设您正在写入 ~/.config/yourApp/state.conf
.
关于c++ - 我应该担心用户可能会弄乱我的程序文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67538463/