如何取一个非常大的十六进制字符串并格式化输出

时间:2010-01-07 21:28:47

标签: c++

我在字节数组中有一个很长的十六进制字符串,我想格式化该字节数组的输出,使其显示0x ??,0x ??。之所以这样,是因为我有一个我正在制作的密钥而且我不想输出这样的512bit密钥。任何可以帮助我做到这一点的本机代码都会受到赞赏。

基本上,我有一个以十六进制生成的rsa密钥,并希望将其用作静态字节数组。但是,我不想把它全部输出{0x ??,0x ??}等

提前谢谢!你们是最棒的!

2 个答案:

答案 0 :(得分:1)

对于数组中的每个字节: cout << "0x" << hex << unsigned(theByte) << ",";其中theByte是您要打印的值(希望是unsigned char)。

答案 1 :(得分:0)

cout.setf(ios::hex, ios::basefield);
cout << "0x" << val << endl;

或以printf格式

printf("0x%x", val)