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函数输出对应的十六进制表示。

相关推荐
.千余29 分钟前
【C++】手写双向链表:list容器模拟实现
开发语言·c++·笔记·学习·其他
QuZero33 分钟前
Guava Cache Deep Dive
java·后端·算法·guava
随意起个昵称40 分钟前
线性dp-LIS题目4(A Twisty Movement)
算法·动态规划
Felven1 小时前
B. Fair Numbers
数据结构·算法
人道领域1 小时前
【LeetCode刷题日记】93.复原IP地址
java·开发语言·算法·leetcode
caimouse1 小时前
Reactos 第 3 章 内存管理 — 【中篇】Hyperspace、系统空间、API 与异常
c语言·开发语言·windows·架构
jarreyer1 小时前
【算法记录1】模型训练问题
算法
Felven1 小时前
D. Friends and the Restaurant
算法
摇滚侠1 小时前
JavaWeb 全套教程 Listener 112-113
java·开发语言·servlet·tomcat·intellij-idea
想吃火锅10051 小时前
【leetcode】165.比较版本号js
javascript·算法·leetcode