方法一:
主要用到sscanf这个库函数:
函数名: sscanf
功 能: 执行从字符串中的格式化输入
用 法: int sscanf(char *string, char *format[,argument,...]); //%x就是我们要格式化的类型,即输出十六进制库函数:
函数名: sscanf
功 能: 执行从字符串中的格式化输入
用 法: int sscanf(char *string, char *format[,argument,...]); //%x就是我们要格式化的类型,即输出十六进制
#include <stdio.h> int main() { char szValue[] = "01f0"; int nValude = 0; sscanf(szValue,"%x",&nValude); printf("%d\n",nValude); return 0; }
方法二:
主要用到strtol这个库函数,它的使用方法是:
函数名: strtol
功 能: 将串转换为长整数
用 法: long strtol(char *str, char **endptr, int base);//base指明我们要转换为几进制数库函数,它的使用方法是:
函数名: strtol
功 能: 将串转换为长整数
用 法: long strtol(char *str, char **endptr, int base);//base指明我们要转换为几进制数
#include <stdio.h> #include <stdlib.h>//strtol头文件 int main() { char *p="01f0"; char *str; int i = (int)strtol(p, &str, 16);//十六进制 &str可用NULL代替 printf("%d\n",i); return 0; }
本文介绍两种方法实现十六进制字符串到整数的转换:一是使用 sscanf 函数进行格式化输入;二是利用 strtol 函数,指定基数为 16 进行转换。
1515

被折叠的 条评论
为什么被折叠?



