c语言实现hex转ascii代码
时间: 2023-08-29 14:13:25 浏览: 239
hextotxt_forms_hex386_bin_
以下是一个简单的C语言程序,可以将十六进制数转换为ASCII字符:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char hex[100];
printf("Enter a hexadecimal number: ");
scanf("%s", hex);
int len = strlen(hex);
if (len % 2 != 0) {
printf("Invalid input!\n");
return 1;
}
char ascii[50];
for (int i = 0; i < len; i += 2) {
char hex_byte[3] = {hex[i], hex[i + 1], '\0'};
int num = (int) strtol(hex_byte, NULL, 16);
ascii[i / 2] = (char) num;
}
ascii[len / 2] = '\0';
printf("ASCII: %s\n", ascii);
return 0;
}
```
该程序首先提示用户输入一个十六进制数,并将其存储在一个字符数组中。然后,程序检查输入是否有效,即字符数量是否为偶数。接下来,程序将每个十六进制字节转换为相应的整数,并将其强制转换为ASCII字符。最后,程序将ASCII字符数组打印到控制台上。
阅读全文