zoukankan      html  css  js  c++  java
  • inet_aton()

    两次技术面试都被让c语言实现inet_aton()函数

    看来这个函数真的很重要。

    我先贴上我自己的实现代码

    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    #include <stdlib.h>
    
    int my_inet_aton(const char *input)
    {
    
        char *add_block[4];
        int length = strlen(input);
        int flag = 0;
        int count[4];
        unsigned int result = 0;
        for(int i=0;i<4;i++)
        {
            add_block[i] = (char*)malloc(sizeof(char)*4);
        }
    
        memset(count,0,sizeof(int)*4);
        for(int i=0;i<length;i++)
        {
            if(input[i]!='.')
            {
                add_block[flag][count[flag]++] = input[i];
                
            }
            else
            {
                add_block[flag][count[flag]++]='';
                flag++;
            }
        }
        add_block[flag][count[flag]++] = '';
        int multi[4] = {256*256*256,256*256,256,1};
        for(int i=0;i<4;i++)
        {
            
            result += atoi(add_block[i])*multi[i];
        }
            printf("%u
    ",result);
            
        return 0;
    
    }
    
    
    int main()
    {
        char *a = "192.168.1.1";
        
        my_inet_aton(a);
        
        return 0;
    
    }
  • 相关阅读:
    F
    E
    D
    B
    A
    C
    I
    G
    F
    架构sass文件
  • 原文地址:https://www.cnblogs.com/Happy-Tuesday/p/3341952.html
Copyright © 2011-2022 走看看