C/C++输出字节数组
C/C++输出字节数组
作为一个c++初学者,输出一个字节数组的方法让我找了半天,,,,
以下对比了printf和cout的输出
1. C
因为这里的 byte
我前面定义为 unsigned char
,即为8位,一个字节。
所以 buffer[]
为一个字符数组。
c直接使用printf 输出即可,具体几进制直接换%后的字母即可,又快又省事!
再看c++吧,,
2. C++
感觉C++的输出好麻烦,,
首先按照几进制输出得在前面写出来一个 cout << hex <<
(十六进制)
然后因为hex
只对整形数据起作用,所以还得强制类型转换,,,
3.完整代码
#include <iostream>
typedef unsigned char byte;
using namespace std;
int main ()
{
/*定义的字节数组*/
byte buffer[]= {0x02,0xF4};
/*传统c语言printf输出*/
printf("传统c语言printf输出:\n");
printf("c十进制输出:%d\n", buffer[0]);
printf("c十进制输出:%d\n", buffer[1]);
printf("c十六进制输出:%X\n", buffer[0]);
printf("c十六进制输出:%X\n", buffer[1]);
printf("\n");
/*c++的cout输出*/
cout << "c++的cout输出:" << endl;
cout << "c++十进制输出:" << dec << int(buffer[0]) << endl;
cout << "c++十进制输出:" << dec << int(buffer[1]) << endl;
cout << "c++十进制输出:" << hex << int(buffer[0]) << endl;
cout << "c++十进制输出:" << hex << int(buffer[1]) << endl;
return 0;
}