【发布时间】:2020-08-15 08:47:04
【问题描述】:
我试图从用户那里获取程序每次运行时都会记住的输入。我想在 C 中执行此操作。基于我对计算机的有限知识,这将存储在存储/硬盘驱动器/ssd 而不是 RAM/内存中。我知道我可以使用数据库或写入文本文件,但我不想使用外部文件或数据库,因为我认为数据库对此有点矫枉过正,并且可能会弄乱外部文件由用户。我该如何做到这一点(让用户输入一次输入并让程序永远记住它)?谢谢! (如果有人需要我澄清我的问题,我很乐意这样做,当我得到答案时,我会为未来的用户澄清这个问题。)
【问题讨论】:
-
任何需要永久存储在用户 PC 上的东西都可能被用户弄乱。您最多可以通过使用操作系统特定的功能让他们更难搞砸它
-
除非有任何非常不寻常且对系统稳定性有风险的事情,否则您将需要创建一个文件(或数据库,最终由文件支持)。您始终可以将文件放置在用户不会轻易到达的位置。
-
@nanofarad 商业程序如何做到这一点?他们使用什么文件类型?
-
@Serket 他们使用开发人员想要的任何文件格式。您正在编写一个程序,因此您可以创建任何您想从文件中读取/写入的逻辑,例如文本表示、序列化、protobuf 等。您可以将其放入 Linux 上的隐藏主目录或 Windows 上的 AppData。
-
Hint,然后像打开文件一样打开您的可执行文件,寻找该存储空间,并用正确的填充和对齐量覆盖。恶意软件经常做类似的事情。
标签: c storage hard-drive