使用C ++将数组的十六进制值打印到字符串

时间:2010-02-24 18:03:38

标签: c++ string hex

使用标准C ++ I / O(例如std::cout),是否可以将数组的值(无论多长)“打印”到字符串中?

例如,假设我有以下数组:

unsigned long C = {0x497fecf2, 0xfa989ea3, 0xd594974e};

我希望能够将这些值打印到字符串中,然后从中删除“0x”。从另一个SO question,我发现了如何使用cout打印十六进制值。

我所问的方式可能是我所描述的吗?

回到基本转换的旧comp sci赋值,并将十进制值转换为十六进制,使用查找表将适当的下一个hexit添加到字符串中会不会更好?

1 个答案:

答案 0 :(得分:3)

创建std::ostringstream,然后将其打印到cout。使用stringstream的str()成员检索包含内容的字符串。