Get hostname and ip address of local computer (2)

Following is a code that gets local machine IP addresses. The advantages over the article by Jeff Lundgren are that my code recognises ALL IP addresses and is ready for IPv6 ;-)
char szHostName[128];

if( gethostname(szHostName, 128) == 0 )
	// Get host adresses
	struct hostent * pHost;
	int i;
	pHost = gethostbyname(szHostName);
	for( i = 0; pHost!= NULL && pHost->h_addr_list[i]!= NULL; i++ )
		 CString str;
 		int j;
 		for( j = 0; j < pHost->h_length; j++ )
			 CString addr;
 			if( j > 0 )
 				str += ".";
 			addr.Format("%u", (unsigned int)((unsigned
			str += addr;
  		// str now contains one local IP address - do whatever you want to do with it (probably add it to a list)


  • Doesn't work

    Posted by Legacy on 12/04/2002 12:00am

    Originally posted by: Patrick

    Now, can you please help me how to display the IP with printf ?

  • You need #include <winsock2.h> and link Ws2_32.lib

    Posted by Legacy on 11/07/2002 12:00am

    Originally posted by: Chris

    He forget to mention add:

    #include <winsock2.h>

    and also click Project->Settings->Link Tab
    and add in:


  • It doesn't work....

    Posted by Legacy on 10/08/2002 12:00am

    Originally posted by: Omar Mukhtar

    The program listed here claims to get IP local address & local host name. But it didn't work well in Linux environment.

    It retrieves "" i.e. Loopback IP address. The reason behind is that gethostbyname() function looks for IP in a file. What is the real solution?

    How does ifconfig command works?????

    Omar Mukhtar

  • serial port programming

    Posted by Legacy on 07/27/2002 12:00am

    Originally posted by: deepaa.

    How to communicate with two adjacent to communicate thru the serial ports?

  • Re: Obtaining IP address

    Posted by Legacy on 03/14/2002 12:00am

    Originally posted by: John Payne

    For the above code to work, you need to include the header file:

    #include <unistd.h>

  • How do I get all the IP addresses on a LAN having a WINDOWS NT 4 SERVER.

    Posted by Legacy on 11/04/2001 12:00am

    Originally posted by: Ajay

    How do I get all the IP addresses on a LAN having a WINDOWS NT 4 SERVER.

  • Its Ok, How can I get IPv6 host address in the same manner.

    Posted by Legacy on 10/15/2001 12:00am

    Originally posted by: Mura

    Your example gives the shortest way.
    It works fine for IPv4. But I am trying
    to get the IPv6 address using WSAIoctl(..) :(

    Give some example

  • How to get IP in Linux

    Posted by Legacy on 11/10/2000 12:00am

    Originally posted by: Senthilkumaran

    I want to get the IP address and Host name of a computer running Linux. Please help me out.


  • Thanks for the addition.

    Posted by Legacy on 01/14/1999 12:00am

    Originally posted by: Jeff Lundgren

    I've had a lot of people ask this question.

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Moving from an on-premises environment to Office 365 does not remove the need to plan for disruptions or reduce the business risk requirements for protecting email services. If anything, some risks increase with a move to the cloud. Read how to ease the transition every business faces if considering or already migrating to cloud email. This white paper discusses: Setting expectations when migrating to Office 365 Understanding the implications of relying solely on Exchange Online security Necessary archiving …

  • Anthony Christie, the Chief Marketing Officer for Level Communications, is responsible for customer experience, worldwide marketing and product management. In this informative asset, he shares his insights into why a private network connection to cloud-bases applications is the right decision for your enterprise. Download now to find out more.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date