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

  • Enterprises are increasingly looking to platform as a service (PaaS) to lower their costs and speed their time to market for new applications. Developing, deploying, and managing applications in the cloud eliminates the time and expense of managing a physical infrastructure to support them. PaaS offerings must deliver additional long-term benefits, such as a lower total cost of ownership (TCO), rapid scalability, and ease of integration, all while providing robust security and availability. This report …

  • 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 …

Most Popular Programming Stories

More for Developers

RSS Feeds

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