1

我需要在它运行时创建一个程序,它应该提取一个图像文件。为此,我使用了一个 char 数组来存储数据。前任:

char data[]="ÿØÿà......";

我用十六进制编辑器打开了图像,复制了数据并将其粘贴到上面。但它给出了许多错误。(这可能是因为图像数据有一些字节,ascii 字符不可用。例如:nul,)

骗局有人给我一些关于如何做到这一点的建议。如何创建字节数组。

感谢任何建议。

4

2 回答 2

3

您应该使用数字初始化程序而不是字符串文字......例如

const unsigned char data[] = { 0x01, 0x02, 0x03, 0x04,
                               0x05, 0x06, 0x07, 0x08 };

一种简单的方法是编写一个小脚本,通过读取文件来生成源代码......在Python中它会像

data = open("datafile", "rb").read()
i = 0
while i < len(data):
    chunk = data[i:i+8]
    print ("0x%02x, " * len(chunk)) % tuple(map(ord, chunk))
    i += 8
于 2012-12-15T16:08:57.527 回答
2

使用 fopen 或 fstream 从文件中读取数据。如果要使用资源编译器将文件嵌入到 exe 中。

于 2012-12-15T15:59:58.457 回答