C 将数据保存到程序中?

C 将数据保存到程序中?,c,save,C,Save,一个便携程序是否可以将保存的数据保存在应用程序中? 我不希望程序创建文件夹或文件。为了以可移植的方式进行,您不应该对体系结构或操作系统有任何假设:您可能有权也可能没有权访问可执行文件(它可能是argv[0],但可能不是。如果您有权访问该可执行文件,您可以打开该文件并对其进行修改,但可能无法执行 无论如何,如果您想尝试,您可以: 检查argv[0]是否是一个文件,您是否具有读写权限,以及它是否确实是您的代码(例如,查找您可以在代码中某处留下的随机字符串) 选择一个字符串来标记您的修改,例如“Ed

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

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

无论如何,如果您想尝试,您可以:

  • 检查
    argv[0]
    是否是一个文件,您是否具有读写权限,以及它是否确实是您的代码(例如,查找您可以在代码中某处留下的随机字符串)

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

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


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

您可以使用database@usar这意味着将其托管在服务器上。我认为我承担不起这样的责任。您需要在应用程序重新启动时保存数据吗?如果需要,您确实需要某种文件系统存储。@metacubed我听说您可以单独使用可执行文件来存储数据。这可能有点棘手。它可能会修改exe本身以存储运行时数据是不现实的。大多数便携式应用程序使用与.exe相同文件夹中的.ini文件,或者使用注册表。我不要求任何“正确”的方法。我要求的是某些特定的方法。但是,如果您的答案正确,它是丰富的,并且我+1它。