用C语言实现一个函数 将ASCII字符串转换为十六进制存放在数组中。
以下是一个用C语言实现将ASCII字符串转换为十六进制的函数:
#include <stdio.h>
#include <string.h>
void asciiToHex(const char* str, char* hex) {
int i, j = 0;
for (i = 0; i < strlen(str); i++) {
sprintf(hex + j, "%02X", str[i]);
j += 2;
}
}
int main() {
const char* str = "Hello World!";
char hex[2 * strlen(str) + 1]; // 为十六进制字符串分配足够的空间
asciiToHex(str, hex);
printf("ASCII string: %s\n", str);
printf("Hex string: %s\n", hex);
return 0;
}
该程序中的asciiToHex函数将输入的ASCII字符串转换为十六进制,并将结果存储在hex数组中。在main函数中,我们定义了一个ASCII字符串str和一个足够大的数组hex来存储转换后的十六进制字符串。最后,我们打印出原始的ASCII字符串和转换后的十六进制字符串。
运行该程序的输出为:
ASCII string: Hello World!
Hex string: 48656C6C6F20576F726C6421
``
原文地址: https://www.cveoy.top/t/topic/hJSn 著作权归作者所有。请勿转载和采集!