下面是一个将字符串"112233"转换为"0x11,0x22,0x33"的C语言函数:

#include <stdio.h>
#include <string.h>

void convertString(char* str) {
    int len = strlen(str);
    int i;

    // 确保字符串长度为偶数
    if (len % 2 != 0) {
        printf("Invalid string length.\n");
        return;
    }

    // 逐个转换字符并输出
    for (i = 0; i < len; i += 2) {
        char byte[3];
        byte[0] = '0';
        byte[1] = str[i];
        byte[2] = str[i + 1];

        // 将字符串转换为整数并输出为十六进制格式
        int num = (int)strtol(byte, NULL, 16);
        printf("0x%02X", num);

        // 最后一个元素后不输出逗号
        if (i < len - 2) {
            printf(",");
        }
    }

    printf("\n");
}

int main() {
    char str[] = "112233";
    convertString(str);

    return 0;
}

此函数通过循环遍历字符串中的字符,每两个字符构成一个字节,并将其转换为十六进制格式输出。最后一个元素后不输出逗号

帮我写个C语言函数可以将字符串112233转换为0x110x220x33

原文地址: http://www.cveoy.top/t/topic/iy9a 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录