Last Update: Jul 11, 2021

Let's learn together. Live shows every week. Check out my channel!

If you’re like me, you constantly need your IP in Windows. When working with network interfaces and multiple servers, I find myself checking my IP a lot.

I built a little utility for myself that only shows the IP addresses on the host, rather than typing ipconfig and getting a long list, I can simply type “ip” and it will only show IP addresses.

C++ Version of the Tool

The following compiles with GCC for Windows, and probably a lot of other compilers as well. This utility is standalone and only needs to be copied into a folder within your path.

Create a file called ip.cpp and add the following:

#include <iostream>
#include <stdio.h>
#include <typeinfo>
using namespace std;

int main()
    FILE *dir;
    char direntry[80];

    dir = popen("ipconfig", "r");

    while (!feof(dir)) {

        fgets(direntry, sizeof(direntry), dir);

        string output = direntry;

        if ((output.find("IP") != string::npos)) {
            cout << direntry << "\n";

    return 0;

This simple executable will cut down your time by only showing the information you need at the time. I hope this helps someone.

C# Version of the Tool

I have also created a C# version of this tool, but it requires the .NET framework to be installed. Create a file called IP.cs with the following code:

using System;

namespace iptools
    class ip

        static void Main(string[] args)

            //Create process
            System.Diagnostics.Process pProcess = new System.Diagnostics.Process();

            //the command we want to run
            pProcess.StartInfo.FileName = "ipconfig";

            // we don't want this to output the original command
            pProcess.StartInfo.UseShellExecute = false;

            //Set output of program to be written to process output stream
            pProcess.StartInfo.RedirectStandardOutput = true;

            //Start the process

            //Get program output
            string strOutput = pProcess.StandardOutput.ReadToEnd();

            // split it by line
            string[] ourText = strOutput.Split('\n');


            foreach (string line in ourText)
                if (line.Contains("IP"))
                    Console.WriteLine(line + "\n");
			// close the process

Compile this file from the command line:

csc ip.cs

and it’s ready!


These files both provide a simple executable to output your ip address where you can read it quickly. If you have multiple adapters they will show up as well.

I hope this helps!

If you’d like to learn more, here’s a great C++ fundamentals course.

Advanced C++ developers wanting to level up should check out High-performance computing in C++

Published: Dec 12, 2012 by Jeremy Morgan. Contact me before republishing this content.