用C++代码写将16进制string类型的数据转成10进制string类型
时间: 2023-11-02 22:21:55 浏览: 242
你可以使用C语言中的标准库函数 `strtol()` 来将16进制字符串转换为10进制字符串。
以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char hex_string[] = "1A"; // 16进制字符串
long int decimal;
// 使用 strtol() 将16进制字符串转换为10进制数
decimal = strtol(hex_string, NULL, 16);
// 将10进制数转换为字符串
char decimal_string[20];
sprintf(decimal_string, "%ld", decimal);
printf("16进制字符串:%s\n", hex_string);
printf("10进制字符串:%s\n", decimal_string);
return 0;
}
```
在上面的代码中,我们定义了一个16进制字符串 `hex_string`,然后使用 `strtol()` 函数将其转换为10进制数 `decimal`。最后,我们使用 `sprintf()` 函数将10进制数转换为字符串 `decimal_string`,并打印输出。
运行以上代码,输出结果如下:
```
16进制字符串:1A
10进制字符串:26
```
需要注意的是,以上代码中的 `hex_string` 只能表示一个字节(2个字符)的16进制数。如果要处理更长的16进制字符串,你可能需要进行循环处理或使用其他方法将其拆分为多个字节。
阅读全文