inet_aton()

时间:2023-03-09 17:19:47
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[];
int length = strlen(input);
int flag = ;
int count[];
unsigned int result = ;
for(int i=;i<;i++)
{
add_block[i] = (char*)malloc(sizeof(char)*);
} memset(count,,sizeof(int)*);
for(int i=;i<length;i++)
{
if(input[i]!='.')
{
add_block[flag][count[flag]++] = input[i]; }
else
{
add_block[flag][count[flag]++]='\0';
flag++;
}
}
add_block[flag][count[flag]++] = '\0';
int multi[] = {**,*,,};
for(int i=;i<;i++)
{ result += atoi(add_block[i])*multi[i];
}
printf("%u\n",result); return ; } int main()
{
char *a = "192.168.1.1"; my_inet_aton(a); return ; }