0

我通常使用 C 语言工作,但现在我使用 C++ 中的一个库,它对压缩和解压缩数据很有用。然后我将压缩数据放在一个 char 数组中。就像:

strg[40] = "400000000200000002000200000000ffffff80";

从那里我需要用这个数组表示的二进制数据加载一个字符串流变量。有人可以帮助我吗?

4

1 回答 1

2

克雷克的评论是正确的。

std::ostringstream ss;
const char *p = strg;
if (p) while (*p) {
    unsigned char x = hex2int(*p) << 4;
    if (*++p) x |= hex2int(*p++);
    ss << x;
}

但这假设输入流的大端表示。如果输入流实际上表示具有小端表示的多字节单词,则您必须更改翻译。

于 2012-06-18T23:06:09.823 回答