读取二进制文件并以十六进制std :: cin输出到std :: cout

时间:2011-10-13 14:10:09

标签: c++

我试图使用此代码实现此目的:

char c;
while (std::cin >> c)
  std::cout << std::hex << std::setw(2) << std::setfill('0') << static_cast<uint32_t>(c);

但它似乎搞乱了以空值读取(所有空值都从我的文件中删除)。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

输入流操作符通常需要一个分隔符,你应该从文件中读取一个缓冲区,如下所示:http://www.cplusplus.com/reference/iostream/istream/read/,然后迭代内容并打印输出,你可能还想使用{{1使十六进制输出更漂亮...

编辑:尝试这样的事情:

showbase