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

相关推荐
寻寻觅觅☆5 分钟前
东华OJ-基础题-122-循环数(C++)-难度难
开发语言·c++
白中白121386 分钟前
算法题-14
数据结构·算法·leetcode
2501_9011478314 分钟前
打家劫舍问题的动态规划解法与性能优化笔记
笔记·算法·动态规划
Zachery Pole26 分钟前
JAVA_04_判断与循环
java·开发语言
plus4s32 分钟前
2月13日(73-75题)
数据结构·c++·算法
懒惰成性的33 分钟前
11.Java的String类
java·开发语言
近津薪荼34 分钟前
dfs专题8——子集
算法·深度优先
嵌入小生00737 分钟前
进程(2)---相关函数接口、消亡、exec函数族 | 嵌入式(Linux)
linux·c语言·嵌入式·进程·函数接口·exec函数族·进程的消亡
独断万古他化43 分钟前
【算法通关】位运算:位图、异或消消乐,高频算法题全解
算法·位运算
傻啦嘿哟1 小时前
Python列表排序:用key参数掌控排序规则
java·开发语言