Please send a program in c..which aceppts the IP address in the form(for ex: 153.18.8.105) and converts it into 32bit long interger(ex.256 8095849) using strtok library function and unions.
Converting IP Address to long int with strtok()
Collapse
X
-
Tags: None
-
Originally posted by punithavinodPlease send a program in c..which aceppts the IP address in the form(for ex: 153.18.8.105) and converts it into 32bit long interger(ex.256 8095849) using strtok library function and unions.
Please read posting guidelines
Hope this link helps to achieve your problem solution.
Regards -
Hi,
Instead of blind posting ur questions try to get the idea about how inet_addr works and try to understand strtok to write the code.
RaghuramComment
-
-
Originally posted by punithavinodAm Learning now Pls help me..Comment
-
Originally posted by punithavinodAm Learning now Pls help me..
a try yourself first and when you're stuck feel free to ask specific questions here;
we're willing to help you then.
kind regards,
JosComment
-
hello, pls look in to my program
and help me to modify this....
[code=c]
#include <stdio.h>
#include <string.h>
#include<stdlib .h>
main()
{
int x = 1,z;
long l,k;
char str[]=" 153.18.8.105";
char *str1;
char str2[16];
printf("String: %s\n", str);
str1 = strtok(str, ".");
strcpy(str2,str 1);
while (1)
{
str1 = strtok(NULL, ".");
if (str1 == NULL)
{
exit(0);
}
strcat(str2,str 1);
l=atol(str2);
printf("long integer is %ld \n",l);
}[/code]
here i tried some what......the thing is i dont knoe structure and union...
how to get the input string from user i.e the ip address using struct/union..pls guide meComment
-
Originally posted by zodilla58
Why do you need to use a union or struct? We need a better explanation of what and how you are trying to do before we can give you more help.Comment
-
A lotta folks just keep using strtok(). I want to say that strtok() works because it uses a static variable. That static variable makes strtok() a disaster in a multi-threaded program where the same strtok() could be simultaneously called on separate threads creating a race condition.
Any progam using static or global variables is not thread safe and has to remain a single-threaded program.
This is a problem since most modern software is multithreaded.
Just keep this in mind when you use this thing.Comment
-
-
Originally posted by vinot85Why should you go for strtok() to convert those IP addresses?
You can just make use of htonl() and htons()..
regards,
VinothComment
-
Originally posted by punithavinodPlease send a program in c..which aceppts the IP address in the form(for ex: 153.18.8.105) and converts it into 32bit long interger(ex.256 8095849) using strtok library function and unions.
i wil tell u the logic. u have to implement. using strtok u make seperate strings and then u use atoi function and convert it to integer. Then convert each integer to bianry. then concatenete all four binary nos. then convert that whole binary no into decimal no. that gives u the 32-bit long int.Comment
-
Originally posted by vishu89i wil tell u the logic. u have to implement. using strtok u make seperate strings and then u use atoi function and convert it to integer. Then convert each integer to bianry. then concatenete all four binary nos. then convert that whole binary no into decimal no. that gives u the 32-bit long int.Comment
Comment