c语言字符串转换16进制代码
时间: 2023-11-03 22:01:22 浏览: 113
你可以使用sprintf函数将C语言字符串转换为十六进制代码。下面是一个简单的例子:
```c
#include <stdio.h>
void stringToHex(const char* str, char* hex) {
int i = 0;
while (str[i] != '\0') {
sprintf(hex + (i*2), "%02X", str[i]);
i++;
}
}
int main() {
const char* str = "Hello, World!";
char hex[2 * strlen(str) + 1];
stringToHex(str, hex);
printf("Hexadecimal representation: %s\n", hex);
return 0;
}
```
这段代码将输出字符串 "Hello, World!" 的十六进制表示形式。
相关问题
c语言字符串转16进制代码
以下是将字符串转换为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进制值)。
c语言字符串转16进制
以下是将C语言字符串转换为16进制的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, world!";
int len = strlen(str);
printf("String: %s\n", str);
printf("Hex: ");
for (int i = 0; i < len; i++) {
printf("%02x ", str[i]);
}
printf("\n");
return 0;
}
```
输出结果如下:
```
String: Hello, world!
Hex: 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21
```
在上面的示例代码中,我们使用了 `char` 类型的字符串 `str`,使用 `strlen` 函数获取了字符串的长度,然后使用 `for` 循环遍历每个字符并将其转换为16进制,并使用 `printf` 函数输出。
阅读全文