21xrx.com
2024-12-22 23:56:14 Sunday
登录
文章检索 我的文章 写文章
如何用C++打印char数组的16进制表示?
2023-06-23 03:39:07 深夜i     --     --
C++ 打印 char数组 16进制表示

在C++中,char类型的变量是一个字符,但它的ASCII码或Unicode码可以用16进制表示。因此,打印char数组的16进制表示可以通过以下方法实现:

1. 使用for循环对数组进行遍历,依次输出每个字符的16进制表示。

例如:


char arr[] = {'H', 'e', 'l', 'l', 'o', '!', '\0'};

for(int i=0; i<sizeof(arr); i++){

  printf("%02X ", arr[i]); //%X表示以十六进制格式输出,%02X表示不足两位前面补0

}

输出结果为:`48 65 6C 6C 6F 21 00`

2. 使用iomanip库的setfill()和setw()函数设置输出格式,以确保每个字符占用相同的宽度并在不足时用0填充。

例如:


#include <iostream>

#include <iomanip>

using namespace std;

char arr[] = {'H', 'e', 'l', 'l', 'o', '!', '\0'};

for(int i=0; i<sizeof(arr); i++){

  cout << setfill('0') << setw(2) << hex << (int)arr[i] << " ";

  //setfill('0')表示使用0填充不足的位数,setw(2)表示每个字符输出两位,hex表示输出十六进制

}

输出结果与上述相同:`48 65 6c 6c 6f 21 00`

通过以上方法,可以轻松地打印char数组的16进制表示,适用于需要处理二进制数据的场景,如网络编程、加密解密等。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复