c语言字符串转换为16进制和10进制数字

原创 2015年11月18日 19:06:04

字符串转换为16进制或者10进制:1、使用自己编写的函数。2、使用库函数。

将字符串转换为16进制两种方法的代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>


 int HexStr2Int(char *buf)
 {
int result = 0;
int tmp;
int len,i;


len = strlen(buf);
printf("len=%d \r\n",len);
for(i = 0;i<len;i++)
{
if(*buf>='A'&& *buf<= 'Z')
tmp = *buf-'A'+10;
else if(*buf>='a'&& *buf<= 'z')
tmp = *buf-'a'+10;
else
tmp = *buf-'0';


result*=16;
result+=tmp;
buf++;
}


return result;
 }


将字符串转换为十进制三种方法的代码:

#include<stdio.h>
#include<stdlib.h>


int Myatoi(char *buf)
{
int result = 0;
char ch;


while((ch = *(buf++)) != '\0')
{
result = result*10 + ch-'0';
}


return result;
}


void main()
{
char *str = "12345";
int val,val2 = 0;
int val3;


val = atoi(str);
val2 = Myatoi(str);
val3 = strtol(str,NULL,10);


printf("val=%d,val2=%d,val3=%d \r\n",val,val2,val3);
}

因为之前串口通讯中经常会用到,记录在此方便以后自己查阅。


版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言实现字节流与十六进制字符串的相互转换

原文出自:http://blog.csdn.net/qq387732471/article/details/7360988 //字节流转换为十六进制字符串 void ByteToHexStr...
  • pingD
  • pingD
  • 2014年12月15日 16:58
  • 27192

C++字符串与十六进制转换

字符串和十六进制之间的转换方法
  • jinru2560
  • jinru2560
  • 2010年10月14日 15:15
  • 24877

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

1、将十六进制数字字符串转成数字 long   lTemp   =   strtol("0xa10b", NULL, 16); 这样的话,就将0xa10b这个十六制形式的字符串转为十进制的数字了...
  • whatday
  • whatday
  • 2014年03月24日 22:29
  • 2508

很方便的c++字符串转换为16进制

密码学中常常需要用到字符串转换为十六进制,进而转换为二进制进行加密 鉴于网上搜的很多方法都有些复杂,很多名为c++,实则只是套了个c++的壳子,写的还是c语言的内容,并没有体现出c++语言本身的一些...
  • FinalCreed
  • FinalCreed
  • 2017年05月01日 00:16
  • 1017

C语言中字符串如何转换为二进制、八进制、十进制、十六进制

在C语言某个程序当中需要把文本16进制转换成对应的16进制数,比如字符串"0x1a"转换成10进制的26,可以用以下函数来实现 相关函数: atof, atoi, atol, strtod, str...
  • edonlii
  • edonlii
  • 2013年06月24日 15:34
  • 41398

C语言将16进制的数转换为字符串的方法

将16进制的数据改为字符串,也就是0xAB,改成“AB”。。。虽然看上去没什么用。...
  • geek_monkey
  • geek_monkey
  • 2016年05月10日 18:25
  • 12401

C语言:将16进制字符串转化为int类型值

将16进制字符串值转换为 in
  • wl1524520
  • wl1524520
  • 2014年05月13日 14:09
  • 18932

java中将16进制字符串转化为10进制数字。

网友的问题: http://topic.csdn.net/u/20081225/10/949ae344-34d5-4b5d-93ca-f57e0dda5057.html 比如我有一个string s...
  • u010523770
  • u010523770
  • 2016年09月12日 16:22
  • 5223

十六进制字符串转换为十进制数值

转载的http://www.cctry.com/forum.php?mod=viewthread&tid=8387&archiver=1 有几种方法还是蛮好的。 在程序中,我们有时需要将一个十六进...
  • xhao014
  • xhao014
  • 2011年07月11日 21:13
  • 4793

将一个十六进制“字符串”转换为十进制数值的问题

将一个十六进制“字符串”转换为十进制数值的问题
  • ixidof
  • ixidof
  • 2010年12月16日 23:43
  • 14866
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c语言字符串转换为16进制和10进制数字
举报原因:
原因补充:

(最多只允许输入30个字)