c++ - 使用字符数组存储数据

标签 c++ byte arrays

我需要创建一个程序,当它运行时它应该提取一个图像文件。为此,我使用了一个字符数组来存储数据。例如:

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

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

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

感谢您的建议。

最佳答案

您应该使用数字初始值设定项而不是字符串文字...例如

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

关于c++ - 使用字符数组存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893704/

相关文章:

c - malloc 在编译时和运行时如何处理?

c++ - 这是 GCC 中可能存在的错误吗?

c# - 将整数转换为字节但不溢出

Golang 按位运算以及一般字节操作

javascript 二维数组错误

javascript - 使用 JavaScript 将 4 位字节数组转换为 int

c++ - 带有标题的循环依赖。使用#ifndef 和#define

c++ - 返回错误值的 bool 递归函数

c++ - STL std::remove_copy

c# - 如何在逐字节读取 CSV 文件时检测字节是否为换行符 - C#