您的位置:首页 > 其它

十六进制字符串转换成整形

2013-08-08 16:24 253 查看
    本文摘自:http://www.chineselinuxuniversity.net/articles/40274.shtml    方法1: sscanf()  函数名: sscanf  功  能: 从字符串格式化输入  用  法: int sscanf(char *string, char *format[,argument,...]);  以上的 format 为 %x 就是将字符串格式化为 16 进制数  例子:    
#include <stdio.h>
  void main()
  {
      char* p = "0x1a";
  	int nValude = 0;
sscanf(p, "%x", &nValude);
  	printf("%d\r\n", nValude);
  }


  输出:
  26

  方法2: strtol()
  函数名: strtol
  功 能: 将字符串转换为长整数
  用 法: long strtol(char *str, char **endptr, int base);
  上面的base就是我们要转换为几进制数
  例子:

#include <stdio.h>
  #include <stdlib.h>
  void main()
  {
  	char* p = "0x1b";
  	char* str;
  	long i = strtol(p, &str, 16);
  	printf("%d\r\n", i);
  }


  输出:
  27
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: