一个可移植程序是否可以将数据保存在应用程序中? 我不希望程序创建文件夹或文件。
答案 0 :(得分:1)
为了以便携方式进行,您不应该对架构或操作系统做任何假设:您可能首先可以访问可执行文件(可能是argv[0]
,但是也许不是。如果你有权访问可执行文件,你可以拥有打开文件并修改它的权利,但也许你不能这样做。
无论如何,如果你想尝试一下,你可以:
检查argv[0]
是否为文件,您是否具有读写权限,以及是否真的是您的代码(例如,查找随机字符串可以留在代码中的某处)。
选择一个字符串来标记您的修改,例如“Edenia”,并检查该文件的最后一个字节是否为那些。如果是这样,该文件先前已被修改,您可以读取它的数据处理。
如果要存储其他数据,请将其添加到文件末尾(如果尚未修改),或替换其具有的修改。不要忘记在文件的末尾添加标记(“Edenia”或其他)。
无论如何,我仍然认为这不是存储数据的正确方法:如果可以的话,尝试使用外部存储(文件,数据库等)。