Skip to content

Commit 6f6c9c7

Browse files
Merge pull request #248 from thetejasmagade/patch-2
Created ip_address.c
2 parents 19660e8 + 09bc281 commit 6f6c9c7

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

ip_address.c

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#include <stdio.h>
2+
#include <string.h>
3+
4+
void extractIpAddress(unsigned char *sourceString,short *ipAddress)
5+
{
6+
unsigned short len=0;
7+
unsigned char oct[4]={0},cnt=0,cnt1=0,i,buf[5];
8+
9+
len=strlen(sourceString);
10+
for(i=0;i<len;i++)
11+
{
12+
if(sourceString[i]!='.'){
13+
buf[cnt++] =sourceString[i];
14+
}
15+
if(sourceString[i]=='.' || i==len-1){
16+
buf[cnt]='\0';
17+
cnt=0;
18+
oct[cnt1++]=atoi(buf);
19+
}
20+
}
21+
ipAddress[0]=oct[0];
22+
ipAddress[1]=oct[1];
23+
ipAddress[2]=oct[2];
24+
ipAddress[3]=oct[3];
25+
}
26+
27+
int main()
28+
{
29+
unsigned char ip[20]={0};
30+
short ipAddress[4];
31+
32+
printf("Enter IP Address (xxx.xxx.xxx.xxx format): ");
33+
scanf("%s",ip);
34+
35+
extractIpAddress(ip,&ipAddress[0]);
36+
37+
printf("\nIp Address: %03d. %03d. %03d. %03d\n",ipAddress[0],ipAddress[1],ipAddress[2],ipAddress[3]);
38+
39+
if(ipAddress[0]>=0 && ipAddress[0]<=127)
40+
printf("Class A Ip Address.\n");
41+
if(ipAddress[0]>127 && ipAddress[0]<191)
42+
printf("Class B Ip Address.\n");
43+
if(ipAddress[0]>191 && ipAddress[0]<224)
44+
printf("Class C Ip Address.\n");
45+
if(ipAddress[0]>224 && ipAddress[0]<=239)
46+
printf("Class D Ip Address.\n");
47+
if(ipAddress[0]>239)
48+
printf("Class E Ip Address.\n");
49+
50+
return 0;
51+
}

0 commit comments

Comments
 (0)