C将十六进制数字字符串转成数字

来源:互联网 发布:自动排班表软件 编辑:程序博客网 时间:2024/05/21 06:26
1、将十六进制数字字符串转成数字
long   lTemp   =   strtol("0xa10b", NULL, 16);
这样的话,就将0xa10b这个十六制形式的字符串转为十进制的数字了.
注:strtol的功能就是将字符串转为数字,而后面的16就是进制,根据需要,你可以是二进制,八进制,十进制,或是十六进制应该都是可以的.
2、将十六进制数字转成字符串
  一种方法:
  int   iTemp   =   0xa10b;  
  char   szBuf[100];  
  sprintf(szBuf, "0x%x", iTemp   );  
  printf("%s", szBuf);    

 
  二种方法:
  char szBuf[100];
  ltoa(0xa5, szBuf, 16);
  printf("%s", szBuf);
  注:szBuf 中就是要得到的字符串
3、附表
格式化规定符
    Turbo C2.0提供的格式化规定符如下:
━━━━━━━━━━━━━━━━━━━━━━━━━━
  符号                  作用
──────────────────────────
    %d              十进制有符号整数
    %u              十进制无符号整数
    %f              浮点数
    %s              字符串
    %c              单个字符
    %p              指针的值
    %e              指数形式的浮点数
    %x, %X          无符号以十六进制表示的整数
    %0              无符号以八进制表示的整数
    %g              自动选择合适的表示法
━━━━━━━━━━━━━━━━━━━━━━━━━━
0 0