C语言字符串转换为16进制

C语言字符串转换为16进制

cpp 复制代码
将C语言字符串转换为16进制有多种方法,下面我将介绍两种常见的方法。

方法一:使用sprintf函数
```c
#include <stdio.h>

void stringToHex(const char* str) {
    int i;
    for (i = 0; str[i] != '\0'; i++) {
        printf("%02X ", str[i]);
    }
    printf("\n");
}

int main() {
    const char* str = "Hello World";
    stringToHex(str);
    
    return 0;
}

输出结果:

复制代码
48 65 6C 6C 6F 20 57 6F 72 6C 64 

方法二:自定义转换函数

c 复制代码
#include <stdio.h>

void stringToHex(const char* str) {
    int i;
    for (i = 0; str[i] != '\0'; i++) {
        printf("%02X ", (unsigned char)str[i]);
    }
    printf("\n");
}

int main() {
    const char* str = "Hello World";
    stringToHex(str);
    
    return 0;
}

输出结果:

复制代码
48 65 6C 6C 6F 20 57 6F 72 6C 64 

这两种方法都可以将C语言字符串逐个字符转换为对应的16进制表示。第一种方法使用了sprintf函数来格式化输出,第二种方法则是通过强制类型转换将字符转换为无符号字符(unsigned char),然后使用printf函数输出对应的十六进制表示。

相关推荐
罗湖老棍子1 分钟前
【例 2】数星星 Stars(信息学奥赛一本通- P1536)
数据结构·算法·树状数组·单点修改 区间查询
逆境不可逃8 分钟前
LeetCode 热题 100 之 394. 字符串解码 739. 每日温度 84. 柱状图中的最大矩形
算法·leetcode·职场和发展
bugcome_com9 分钟前
C# 高级集合使用示例
开发语言·c#
sycmancia13 分钟前
C++——动态内存分配、关于虚函数、关于继承中的强制类型转换
开发语言·c++
Mao_Hui15 分钟前
Unity3d实时读取Modbus RTU数据
开发语言·嵌入式硬件·unity·c#
echome88815 分钟前
Python 装饰器详解:从入门到精通的实用指南
开发语言·python
重生之后端学习21 分钟前
62. 不同路径
开发语言·数据结构·算法·leetcode·职场和发展·深度优先
小资同学23 分钟前
考研机试 -Kruskal算法
算法
big_rabbit050226 分钟前
[算法][力扣283]Move Zeros
算法·leetcode·职场和发展
小资同学28 分钟前
考研机试动态规划 线性DP
算法·动态规划