Linux系统下10进制字符串转16进制函数
时间: 2024-10-17 11:11:50 浏览: 23
十六进制与字符串转换
在Linux系统下,你可以使用内置的函数`strtoul()`或者`sscanf()`配合`%x`格式化说明符来进行10进制字符串转换到16进制的操作。这里是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
unsigned long int decimal_to_hex(const char *decimal_str) {
unsigned long int value;
if (sscanf(decimal_str, "%lx", &value) == 1) {
return value;
} else {
printf("Invalid input string for a hexadecimal number.\n");
return ULONG_MAX; // 返回一个默认的最大值,表示转换失败
}
}
int main() {
char hex_str[] = "12345678";
unsigned long int hex_value = decimal_to_hex(hex_str);
printf("Hexadecimal value of %s is %lu\n", hex_str, hex_value);
阅读全文