473,386 Members | 1,652 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Converting IP Address to long int with strtok()

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.2568095849) using strtok library function and unions.
Aug 13 '07 #1
14 17703
Meetee
931 Expert Mod 512MB
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.2568095849) using strtok library function and unions.
Hi,

Please read posting guidelines

Hope this link helps to achieve your problem solution.

Regards
Aug 13 '07 #2
gpraghuram
1,275 Expert 1GB
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.

Raghuram
Aug 13 '07 #3
Hi ,
Sample code to convert ip address from string to Long. But for better solution try to use the in built function.

Code snipped - please refrain from spoonfeeding.

Regards
Kin Parmar
Aug 13 '07 #4
Am Learning now Pls help me..
Aug 14 '07 #5
sicarie
4,677 Expert Mod 4TB
Am Learning now Pls help me..
Did you read zodilla58 and gpraghuram's responses? Did you look through the links, and did you read the Posting Guidelines of this site? Zodilla has already offered a link to the resource you need, why not look through that and start playing around with it? It's the best way to learn. Then when you have a more specific question, you can post again...
Aug 14 '07 #6
JosAH
11,448 Expert 8TB
Am Learning now Pls help me..
We don't consider copying and pasting spoonfed code 'learning' ... please give it
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,

Jos
Aug 14 '07 #7
hello, pls look in to my program
and help me to modify this....
Expand|Select|Wrap|Line Numbers
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include<stdlib.h>
  4.  
  5.  main()
  6. {
  7.         int x = 1,z;
  8.         long l,k;
  9.         char str[]=" 153.18.8.105";
  10.         char *str1;
  11.         char str2[16];
  12.  
  13.         printf("String: %s\n", str);
  14.         str1 = strtok(str, ".");
  15.         strcpy(str2,str1);
  16.  
  17.         while (1)
  18.       {
  19.  
  20.             str1 = strtok(NULL, ".");
  21.  
  22.  
  23.                 if (str1 == NULL)
  24.                  {
  25.  
  26.                         exit(0);
  27.                  }
  28. strcat(str2,str1);
  29. l=atol(str2);
  30. printf("long integer is %ld \n",l);
  31.        }
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 me
Aug 27 '07 #8
sicarie
4,677 Expert Mod 4TB
Hi,

Please read posting guidelines

Hope this link helps to achieve your problem solution.

Regards
Reading through things other people have posted will save you quite a bit of time. Why not use the library available to you?

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.
Aug 27 '07 #9
weaknessforcats
9,208 Expert Mod 8TB
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.
Aug 27 '07 #10
I was asked to do with structure/union....what to do....how to modify pls help
Aug 29 '07 #11
vinot85
53
Why should you go for strtok() to convert those IP addresses?
You can just make use of htonl() and htons()..

regards,
Vinoth
Aug 30 '07 #12
sicarie
4,677 Expert Mod 4TB
Why should you go for strtok() to convert those IP addresses?
You can just make use of htonl() and htons()..

regards,
Vinoth
I was unaware of that library when I suggested srtok(), it would be much easier to use those, if the OP's assignment allows for them - they have yet to clarify why they need to use a union.
Aug 30 '07 #13
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.2568095849) 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.
Aug 31 '07 #14
sicarie
4,677 Expert Mod 4TB
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.
That was what I was originally thinking as well, but it would be easier for the OP to include the above library and use one function to 'just do it' and not re-implement something that is already out there.
Aug 31 '07 #15

Sign in to post your reply or Sign up for a free account.

Similar topics

4
by: Joseph Suprenant | last post by:
I have an array of unsigned chars and i would like them converted to an array of ints. What is the best way to do this? Using RedHat 7.3 on an Intel Pentium 4 machine. Having trouble here, hope...
3
by: Golan | last post by:
Hello, I have a hexa file which I need to convert to decimal. I use memcpy into variables (char for one octet, short for 2 octets and int for 4 octets) and then print the value into the file by...
18
by: Martin Pöpping | last post by:
Hello, I´ve a problem with the follwing code lines: string line; ifstream myfile ("doorcoordinates.txt"); if (myfile.is_open()) { char str; char * pch;
65
by: kyle.tk | last post by:
I am trying to write a function to convert an ipv4 address that is held in the string char *ip to its long value equivalent. Here is what I have right now, but I can't seem to get it to work. ...
1
by: UKuser | last post by:
Hi Guys, I have a program which converts Excel spreadsheets to Javascript and allows interactivity. However it can't convert it to PHP, which is obviously better for users to view (in case J/S...
14
by: Spitfire | last post by:
Hi All, I've this weird question about pointers. I would like to know how to return the address of a local variable, safely!! Isn't that a unrecommended procedure? Doesn't it have possibilities...
4
by: Alan | last post by:
How do I convert the type const char* to type char*? I have an input string ("input_string") of class string. I need to convert this to type char* in order to use it in a call to the strtok()...
1
by: kakolibora | last post by:
How to convert an IP address to it's equivalent 32 bits long integer using unions and strtok library function? Please help me.
36
by: Ajay | last post by:
Hi All, I got a segmentation fault while accessing a structure element. I pasted the output from gdb and the backtrace. However if I am able successfully access the structure using the...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.