1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

Retrieving IP address in C

Discussion in 'C' started by hraja, May 7, 2010.

Thread Status:
Not open for further replies.
  1. hraja

    hraja New Member

    Joined:
    Apr 6, 2010
    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    0
    Hi,

    I am having trouble retrieving the IP address and saving it into an array.

    For example, for an IP address 1.2.3.4, I wish to have my array as a[0]=1; a[1]=2; etc. The following is the code I have been working on.

    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include <sys/socket.h>
    #include <netdb.h>

    int main ()
    {
    int sock,i;
    char dataarray[32];
    char name[255];
    struct in_addr min_addr;
    min_addr = *(struct in_addr *)*gethostbyname(name)->h_addr_list;

    dataarray[0] = min_addr.S_un.S_un_b.s_b1;
    dataarray[1] = min_addr.S_un.S_un_b.s_b2;
    dataarray[2] = min_addr.S_un.S_un_b.s_b3;
    dataarray[3] = min_addr.S_un.S_un_b.s_b4;
    }

    I get the following error on compiling:

    error: ‘struct in_addr’ has no member named ‘S_un’

    It would be great if I could get some help on this. I hope I have included the correct header files necessary to support these methods.

    Many thanks.
     
  2. shabbir

    shabbir Administrator Staff Member

    Joined:
    Jul 12, 2004
    Messages:
    15,276
    Likes Received:
    364
    Trophy Points:
    83
Thread Status:
Not open for further replies.

Share This Page