我正在寻找另一种从windows下的.ini文件中加载和保存小二进制块的方法。
我知道Windows注册表具有读取和写入REG_BINARY数据的功能,但我无法为.ini文件找到相同的内容。
显然,数据必须存储在.ini文件中。但必须能够以任意值0x00-0xFF存储和检索它作为字节。
答案 0 :(得分:2)
一种方法是首先简单地对二进制数据进行base64编码。然后,您可以从/到.ini文件读取和写入base64编码的数据,就像从/向任何文件读取/写入数据一样。 base64编码将二进制数据转换为ascii,使用十六进制字符(0-F)表示二进制数据。有关详细信息,请参阅http://en.wikipedia.org/wiki/Base64。
答案 1 :(得分:0)
有GetPrivateProfileStruct和WritePrivateProfileStruct函数可以读取和写入二进制数据到INI文件。
这些确实需要您在读取数据时知道数据的大小,因此如果您要存储可变大小的数据,则必须将数据的大小存储在不同的INI设置中。
此外,如果您将指向struct
的指针传递给这些函数,则需要非常小心地进行更改,因为struct
的内存布局必须完全匹配才能使读取成功