【问题标题】:Saving data into the program?将数据保存到程序中?
【发布时间】:2014-08-28 03:53:19
【问题描述】:

一个可移植程序是否可以将保存数据保存在应用程序中? 我不希望程序创建文件夹或文件。

【问题讨论】:

  • 你可以使用数据库
  • @usar 这意味着将它托管在服务器中..我认为我无法承担这样的责任..
  • 您是否需要在应用程序重新启动时保留数据?如果是这样,您确实需要某种文件系统存储。
  • @metacubed 我听说您可以单独使用可执行文件来存储数据。这可能有点棘手。
  • 修改 exe 本身来存储运行时数据是不切实际的。大多数便携式应用程序使用与 .exe 位于同一文件夹中的 .ini 文件,或者使用注册表。

标签: c save


【解决方案1】:

为了以可移植的方式执行此操作,您不应该对架构或操作系统进行任何假设:您可能首先可以访问可执行文件,也可能无法访问(可能是argv[0],但也可能是不是。如果您有权访问可执行文件,则您可以有权打开该文件并对其进行修改,但也许您不能这样做。

无论如何,如果你想尝试一下,你可以:

    1234563 p>
  • 选择一个字符串来标记您的修改,例如“Edenia”,并检查该文件的最后一个字节是否是那些。如果是这样,则该文件先前已被修改,您可以读取您的数据处理它。

  • 当您想要存储其他数据时,请将其添加到文件末尾(如果尚未修改),或替换它所做的修改。不要忘记在文件末尾添加标记(“Edenia”或其他)。

无论如何,我仍然认为这不是存储数据的正确方式:如果可以,请尝试使用外部存储(文件、数据库等)。

【讨论】:

  • 我不要求任何“正确”的方法。我要求一些特别的东西。但是,如果您的答案是正确的,那么它很丰富,我 +1。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-20
  • 1970-01-01
  • 1970-01-01
  • 2013-06-11
  • 2019-01-17
  • 2010-09-26
  • 2018-03-29
相关资源
最近更新 更多