将数据保存到程序中?
答
为了以便携的方式进行操作,您不应该对体系结构或操作系统有任何假设:您可能有可能无法访问可执行文件(可能是argv[0]
,但它可能不是't。如果你有权访问可执行文件,你可以有权打开文件并对其进行修改,但也许你做不到。
如果无论如何,你想尝试它,你可以:
检查
argv[0]
是否是一个文件,您有读取和写入权限,如果它确实是您的代码(正在寻找例如,对于随机字符串,您可以将其留在代码中的某处)。选择一个字符串来标记您的修改,例如“Edenia”,然后检查该文件的最后几个字节是否是那些字符。如果是这样,该文件先前已被修改,并且您可以读取您的数据进程。
当您想要存储其他数据时,将其添加到文件末尾(如果尚未修改),或者替换它所做的修改。不要忘记在文件末尾添加标记(“Edenia”,或其他)。
无论如何,我仍然认为这不是存储数据的正确方法:尽可能使用外部存储(文件,数据库等)。
+0
我不是要求任何“适当的”方法。我正在寻求一些特别的东西。但是,如果你的答案是正确的,它是丰富的,我+1它。 – Edenia 2014-08-28 17:07:22
你可以使用数据库 – nbro 2014-08-28 03:54:12
@ usar这意味着它在服务器中的主机.. 我不认为我能承受这样的责任.. – Edenia 2014-08-28 03:54:30
你可以有一个本地数据库,但我不熟悉数据库C,我不能帮助你更多的宝贝;)也许别人可以帮助你更多,否则在网络上的研究可以帮助你更多;) – nbro 2014-08-28 03:56:49