【发布时间】:2013-06-15 16:51:28
【问题描述】:
在这个站点的帮助下,C++ int to byte array,我有一个将 int 序列化为字节流的代码。
整数值 1234 的字节流数据是大端格式的 '\x00\x00\x04\xd2',我需要想出一个实用函数来显示字节流。这是我的第一个版本。
#include <iostream>
#include <vector>
using namespace std;
std::vector<unsigned char> intToBytes(int value)
{
std::vector<unsigned char> result;
result.push_back(value >> 24);
result.push_back(value >> 16);
result.push_back(value >> 8);
result.push_back(value );
return result;
}
void print(const std::vector<unsigned char> input)
{
for (auto val : input)
cout << val; // <--
}
int main(int argc, char *argv[]) {
std::vector<unsigned char> st(intToBytes(1234));
print(st);
}
如何在屏幕上获得正确的十进制和十六进制值?
【问题讨论】:
-
使用
std::hex()IO 操纵器
标签: c++ format int data-conversion