如何在Windows上存储和读取ini文件中的二进制值?

时间:2013-07-22 16:55:40

标签: windows ini

我正在寻找另一种从windows下的.ini文件中加载和保存小二进制块的方法。

我知道Windows注册表具有读取和写入REG_BINARY数据的功能,但我无法为.ini文件找到相同的内容。

显然,数据必须存储在.ini文件中。但必须能够以任意值0x00-0xFF存储和检索它作为字节。

2 个答案:

答案 0 :(得分:2)

一种方法是首先简单地对二进制数据进行base64编码。然后,您可以从/到.ini文件读取和写入base64编码的数据,就像从/向任何文件读取/写入数据一样。 base64编码将二进制数据转换为ascii,使用十六进制字符(0-F)表示二进制数据。有关详细信息,请参阅http://en.wikipedia.org/wiki/Base64

答案 1 :(得分:0)

GetPrivateProfileStructWritePrivateProfileStruct函数可以读取和写入二进制数据到INI文件。

这些确实需要您在读取数据时知道数据的大小,因此如果您要存储可变大小的数据,则必须将数据的大小存储在不同的INI设置中。

此外,如果您将指向struct的指针传递给这些函数,则需要非常小心地进行更改,因为struct的内存布局必须完全匹配才能使读取成功