Program to convert IP address to hexadecimal

Given an IP Address and task is to change the IP address equivalent the hexadecimal value.
Examples:

Input  : 127.0.0.1
Output : 0x7f000001

Input  : 172.31.0.2
Output : 0xac1f0002

Explanation
using the Library function to convert the IP address to convert into the hexadecimal value we use ” arpa/inet.h “ header file. The inet_addr() function shall convert the string in the standard IPv4 dotted decimal notation, to an integer value suitable for use as an Internet address.



C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program for IP to
// hexadecimal conversion
#include <arpa/inet.h>
#include <iostream>
#include <string.h>
using namespace std;
  
// function for reverse hexadecimal number
void reverse(char* str)
{
    // l for swap with index 2
    int l = 2;
    int r = strlen(str) - 2;
  
    // swap with in two-2 pair
    while (l < r) {
        swap(str[l++], str[r++]);
        swap(str[l++], str[r]);
        r = r - 3;
    }
}
  
// function to conversion and print
// the hexadecimal value
void ipToHexa(int addr)
{
    char str[15];
  
    // convert integer to string for reverse
    sprintf(str, "0x%08x", addr);
  
    // reverse for get actual hexadecimal
    // number without reverse it will
    // print 0x0100007f for 127.0.0.1
    reverse(str);
  
    // print string
    cout << str << "\n";
}
  
// Driver code
int main()
{
    // The inet_addr() function  convert  string
    // in to standard IPv4 dotted decimal notation
    int addr = inet_addr("127.0.0.1");
  
    ipToHexa(addr);
  
    return 0;
}

chevron_right


Outpur:-

0x7f000001


My Personal Notes arrow_drop_up

Sometimes you never realize the value of a moment until it becomes a memory

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.