C ++输入字节和输出十六进制

时间:2015-11-06 01:27:57

标签: c++ c++11 c++14

嘿,我已经离开C ++游戏很长一段时间了,并试图回到它。我试图开始使用一些对我来说实际上有用的基本内容。我正在尝试输入

等字节

14 A4 B7 54 85

并使用逗号分隔符

输出

0x14,0xA4,0xB7,0x54,0x85

有什么建议吗?感谢

1 个答案:

答案 0 :(得分:4)

有几百种方法可以做到这一点(没有一个让我觉得使用C ++而不是其他任何可能性的特别令人信服的理由),但我可能会这样做:

std::ifstream in("my input.hex");
std::ofstream out("my output.txt");

std::transform(std::istream_iterator<std::string>(in),
               std::istream_iterator<std::string>(),
               infix_ostream_iterator<std::string>(out, ","),
               [](std::string const &s) { return "0x"s + s; });

使用我在其他地方发布的infix_ostream_iterator