c语言 字符串转16进制
时间: 2023-09-08 22:14:59 浏览: 118
以下为一个简单的例子,将字符串转换为16进制:
```c
#include <stdio.h>
#include <string.h>
void string_to_hex(char *str, int len)
{
int i;
for (i = 0; i < len; i++) {
printf("%02x ", str[i]);
}
}
int main()
{
char str[] = "hello world";
int len = strlen(str);
string_to_hex(str, len);
return 0;
}
```
输出结果为:
```
68 65 6c 6c 6f 20 77 6f 72 6c 64
```
以上代码将字符串 "hello world" 转换为了16进制格式,并打印输出。
相关问题
c语言字符串10进制转换8进制和16进制的字符串(字符串很长)
C语言中,可以使用sprintf函数将10进制转换为8进制和16进制的字符串。
转换为8进制的字符串,可以使用"%o"格式控制符;转换为16进制的字符串,可以使用"%x"或"%X"格式控制符。
以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int num = 123456789; // 待转换的10进制数
char octal_str[20], hex_str[20]; // 存储转换后的字符串
sprintf(octal_str, "%o", num); // 转换为8进制字符串
sprintf(hex_str, "%x", num); // 转换为16进制字符串
printf("转换为8进制字符串: %s\n", octal_str);
printf("转换为16进制字符串: %s\n", hex_str);
return 0;
}
```
c语言字符串转换16进制代码
你可以使用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!" 的十六进制表示形式。
阅读全文