我加密了一些文本并将其放入INI文件中。然后我使用getprivateprofilestring()来检索值,但缺少一些结束字符。我怀疑它可能是一个新行,导致它不完整。写入INI文件是可以的。打开INI文件并查看部分和键 - 一切都井然有序。它只是导致错误的检索部分。
请提供任何帮助。
由于 埃迪
答案 0 :(得分:1)
首先关闭字符串时,确保在将它们转储到INI文件之前将它们转换为Base64。
最有可能的是,加密字符串创建了一个ascii字符,INI相关API无法很好地处理该字符。
答案 1 :(得分:0)
WritePrivateProfileStringW
将文件写入活动的ANSI代码页中; WritePrivateProfileStringA
将始终编写ANSI。
要获得最佳效果,请按照here的说明操作,并在阅读数据时使用GetPrivateProfileStringW
答案 2 :(得分:0)
加密很可能是在您正在编写的流中注入NULL字符。 GetPrivateProfileString将读取一个字符串,直到找到一个NULL字符。
所以我同意Angry Hacker,转换为Base64或其他一些友好的人类可读编码,你就不会有任何问题。