zoukankan      html  css  js  c++  java
  • socket编程之inet_addr和inet_ntoa

    inet_addr 将字符串形式的IP地址 -> 网络字节顺序  的整型值

    inet_ntoa 网络字节顺序的整型值 ->字符串形式的IP地址

     1 #define _WINSOCK_DEPRECATED_NO_WARNINGS
     2 #include<WinSock2.h>
     3 #include<iostream>
     4 using namespace std;
     5 
     6 #pragma comment(lib, "ws2_32.lib")
     7 
     8 int main()
     9 {
    10     WORD wVersionRequested;
    11     WSADATA wsaData;
    12     int err;
    13 
    14     wVersionRequested = MAKEWORD(1, 1);
    15 
    16     err = WSAStartup(wVersionRequested, &wsaData);
    17     if (err != 0) {
    18         return 0;
    19     }
    20 
    21 
    22     char ip1[] = "192.168.0.74";
    23     char ip2[] = "211.100.21.179";
    24     struct in_addr addr1, addr2;
    25     long l1, l2;
    26     l1 = inet_addr(ip1);   //将字符串形式的IP地址 -> 网络字节顺序  的整型值
    27     l2 = inet_addr(ip2);
    28     printf("IP1: %s
     IP2: %s
    ", ip1, ip2);
    29     printf("Addr1: %ld
     Addr2: %ld
    ", l1, l2);
    30 
    31     memcpy(&addr1, &l1, 4); //复制4个字节大小  
    32     memcpy(&addr2, &l2, 4);
    33     printf("%s <--> %s
    ", inet_ntoa(addr1), inet_ntoa(addr2)); //注意:printf函数自右向左求值、覆盖  
    34     printf("%s
    ", inet_ntoa(addr1)); //网络字节顺序的整型值 ->字符串形式的IP地址  
    35     printf("%s
    ", inet_ntoa(addr2));
    36 
    37     getchar();
    38     return 0;
    39
  • 相关阅读:
    ES6 解构
    一些vue的知识点
    CSS选择器
    Django学习--介绍Django
    正则表达式
    ftp命令
    Vim学习指南
    关于ACM与OJ
    brctl命令
    LXC
  • 原文地址:https://www.cnblogs.com/danmoqingshan/p/9316351.html
Copyright © 2011-2022 走看看