字符串转数字简单代码实现

推荐:http://www.cnblogs.com/roucheng/p/3470287.html

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

#include <stdio.h>

#define u8 unsigned char
static const int MAC_LENGTH = 6;

static u8 char1Tonum(u8 ch)
{
    if((ch>='0')&&(ch<='9'))
        return ch - '0';
    else if ((ch>='a')&&(ch<='f'))
        return ch - 'a' + 10;
    else if ((ch>='A')&&(ch<='F'))
        return ch - 'A' + 10;
    else
     return 0xff;
}

//简单的把字符串转为数字 (比如把MAC地址转为6个数字)
static u8 char2Tonum(u8 hch, u8 lch)
{
    return ((char1Tonum(hch) << 4) | char1Tonum(lch));
}

static void charToArray(u8* array,u8* stringBuf)
{
    for(int i =0,j=0;i<MAC_LENGTH;i++,j+=2)
    {
        array[i] = char2Tonum(stringBuf[j],stringBuf[j+1]);
        printf("0x%x\n",array[i]);
    }
}

int main()
{
    u8 buf[MAC_LENGTH] = {0};
    u8 bufMac[MAC_LENGTH*2+1] = "112233445566";

    charToArray(buf,bufMac);

/*    for(int i =0,j=0;i<MAC_LENGTH;i++,j+=2)
    {
        buf[i] = char2Tonum(bufMac[j],bufMac[j+1]);
        printf("0x%x\n",buf[i]);
    }
*/

    return 0;
}/* 何问起 hovertree.com */

推荐:http://www.cnblogs.com/roucheng/p/3470287.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120319.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lvs常用命令

    lvs常用命令lvs命令(具体参数的意思可以参看其他文章)1,查看配置ipvsadm-ln2,清空所有配置ipvsadm-Clistener添加:ipvsadm-A-t192.168.11.60:80-srr修改:ipvsadm-E-t192.168.11.60:80-swrr删除:ipvsadm-D-t192.168.11.60:80realserv…

    2022年7月23日
    24
  • iOS UIWebView获取当前JSContext

    iOS UIWebView获取当前JSContext

    2021年9月15日
    73
  • linux系统添加路由命令_linuxeth1添加路由

    linux系统添加路由命令_linuxeth1添加路由添加到主机的路由routeadd-host192.168.1.2deveth0:0routeadd-host10.20.30.148gw10.20.30.40添加到网络的路由routeadd-net10.20.30.40netmask255.255.255.248eth0routeadd-net10.20.30.48netmask255.255.255.248gw10.20.30.41routeadd-net192.168.1.0/24eth

    2022年10月4日
    3
  • 用js来实现那些数据结构08(链表02-双向链表)

    其实无论在任何语言中,一种数据结构往往会有很多的延伸和变种以应对不同场景的需要。其实前面我们所学过的栈和队列也是可以用链表来实现的。有兴趣的小伙伴可以自己尝试着去实现以下。有点跑题了…,我们还是

    2022年3月25日
    46
  • Arduino 硬件编程语言基础学习入门

    Arduino 硬件编程语言基础学习入门1、Arduino程序必要的setup()和loop()voidsetup(){}voidloop(){}setup()函数中的代码只会被运行一次,通常用来做一些初始化工作;loop()中的代码会被无限次地重复运行,此函数为程序的主体部分。2、程序中的值2.1变量和常量常量是一个字面量,只可以表示一个特定的量。2.2变量类型…

    2022年4月19日
    114
  • springboot Jpa多数据源(不同库)配置

    springboot Jpa多数据源(不同库)配置一、前言springboot版本不同对多数据源配置代码有一定影响,部分方法和配置略有不同。本文采用的springboot版本为2.3.12,数据源为mysql和postgresql二、配置实战2.1基础pom<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</ar

    2022年10月20日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号