构建二进制字符串c ++

时间:2012-08-05 21:54:44

标签: c++ string binary

如何在c ++中构建二进制字符串?

我希望以这种格式使用它:

  std::string str = signed long (4bytes) "fill out zeros" 0x000 (8bytes) signed long (4bytes)

注意我不想要可视二进制表示,而是希望字符串

中的实际二进制数据

3 个答案:

答案 0 :(得分:3)

针对您的具体应用:

std::string data(12, 0);  // construct string of 12 null-bytes

int32_t x, y;  // populate

char const * const p = reinterpret_cast<char const *>(&x);
char const * const q = reinterpret_cast<char const *>(&y);

std::copy(p, p + 4, data.begin()    );
std::copy(q, q + 4, data.begin() + 8);

答案 1 :(得分:2)

char buffer[1024];
// fill up buffer with whatever
char *end = afterLastChar;
std:string s(buffer, afterLastChar);

答案 2 :(得分:0)

使用std :: vector&lt; uint8_t&gt ;,这不是字符串