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

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              自动选择合适的表示法
━━━━━━━━━━━━━━━━━━━━━━━━━━


你可能感兴趣的:(字符串,二进制,十六进制,十进制,八进制)