【发布时间】:2016-12-03 05:45:26
【问题描述】:
【问题讨论】:
-
将您的应用程序编译为 64 位应用程序。该代码和
CryptStringToBinary都可能需要 500MB 内存来保存最终字符串。 32 位应用程序很可能不会发生这种情况。 -
@PaulMcKenzie 可以,但是我的老师不允许我们更改设置,我们应该使用默认设置进行此操作
-
告诉你的老师你不会表演魔术。如果您要使用这些函数,并且必须生成 500MB 以上的字符串,那么使用 32 位应用程序就不会轻易发生这种情况。即使您勉强过活,您也已经用尽了大量内存,您的应用程序可能会由于内存耗尽而在其他地方崩溃。唯一要建议的是找到一个在生成 base64 编码/解码时将数据写入磁盘的实现,而不是基于字符串。
-
是否可以通过
ReadFile函数逐块读取文件,然后base64块,并读取第二块......? -
您可以获取链接到的原始代码并将目标更改为文件流。然后将字节写入文件流 --- 换句话说,
pDst需要更改。
标签: c++ api encoding base64 decoding