c语言字符串转16进制代码
时间: 2023-09-13 17:05:43 浏览: 40
以下是将字符串转换为16进制的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void stringToHex(char* input, char* output) {
int i, j;
int len = strlen(input);
char temp[3];
for (i = 0, j = 0; i < len; i += 2, j++) {
sprintf(temp, "%c%c", input[i], input[i+1]);
output[j] = strtol(temp, NULL, 16);
}
}
int main() {
char input[] = "Hello World!";
char output[100];
stringToHex(input, output);
printf("%s in hex is: ", input);
for (int i = 0; i < strlen(output); i++) {
printf("%02X", output[i]);
}
printf("\n");
return 0;
}
```
这个程序将输入字符串转换为16进制,并输出其16进制表示。函数`stringToHex()`将输入字符串转换为16进制,并将结果存储在输出缓冲区中。该程序使用`strtol()`函数将字符串转换为16进制。注意,该代码假定输入字符串的长度是偶数(每个字符都有其对应的16进制值)。
阅读全文