1

我加密了一些文本并将其放入 INI 文件中。然后我使用 getprivateprofilestring() 来检索该值,但缺少一些结束字符。我怀疑它可能是一个换行符导致它不完整。写入 INI 文件就可以了。打开 INI 文件并查看部分和键 - 一切都井井有条。它只是导致错误的检索部分。

请任何帮助将不胜感激。

谢谢埃迪

4

3 回答 3

1

首先在加密字符串时,确保在将它们转储到 INI 文件之前将它们转换为 Base64。

最有可能的是,加密字符串创建了一个 ascii 字符,INI 相关 API 无法很好地处理该字符。

于 2009-03-15T06:19:54.613 回答
0

WritePrivateProfileStringW默认情况下在活动的 ANSI 代码页中写入文件;WritePrivateProfileStringA总是写ANSI。

为达到最佳效果,请按照此处的说明并GetPrivateProfileStringW在回读数据时使用

于 2009-03-14T08:54:52.977 回答
0

加密很可能会将 NULL 字符注入您正在编写的流中。GetPrivateProfileString 将读取一个字符串,直到找到一个 NULL 字符。

所以我同意 Angry Hacker,转换为 Base64 或其他一些友好的人类可读编码,你不会有任何问题。

于 2009-04-21T10:01:28.233 回答