• (OK) ip-str.c


    #include <stdio.h> 
    #include <string.h>
    
    #include <sys/types.h>  
    #include <sys/socket.h>  
    #include <arpa/inet.h> 
    
    int main(void)
    { 
      char *token;
      char buf1[16];
      char buf2[4][4];
      char buf3[16];
      int i = 0;
      struct sockaddr_in addr;
      memset(buf1, 0, 16);
      memset(buf2, 0, 16);
      memset(buf3, 0, 16);
    
      //buf = inet_ntoa(sin_dest.sin_addr);
      //sprintf(buf1, "%s", inet_ntoa(sin_dest.sin_addr));
    
      sprintf(buf1, "%s", "112.26.0.8");
    
      token = strtok(buf1, ".");
      while (token != NULL)
      {
        sprintf(buf2[i++], "%s", token);
        token = strtok(NULL, ".");
      }
    
      strcat(strcat(strcat(strcat(strcat(strcat(strcat(buf3,buf2[0]), "."), buf2[1]), "."), buf2[2]), "."), buf2[3]);
      inet_aton(buf3, &addr.sin_addr);
      printf("%s (%u)
    ", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);
    
      buf2[2][0] = '1';
      memset(buf3, 0, 16);
      strcat(strcat(strcat(strcat(strcat(strcat(strcat(buf3,buf2[0]), "."), buf2[1]), "."), buf2[2]), "."), buf2[3]);
      inet_aton(buf3, &addr.sin_addr);
      printf("%s (%u)
    ", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);
    
      buf2[2][0] = '2';
      memset(buf3, 0, 16);
      strcat(strcat(strcat(strcat(strcat(strcat(strcat(buf3,buf2[0]), "."), buf2[1]), "."), buf2[2]), "."), buf2[3]);
      inet_aton(buf3, &addr.sin_addr);
      printf("%s (%u)
    ", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);
    
      buf2[2][0] = '3';
      memset(buf3, 0, 16);
      strcat(strcat(strcat(strcat(strcat(strcat(strcat(buf3,buf2[0]), "."), buf2[1]), "."), buf2[2]), "."), buf2[3]);
      inet_aton(buf3, &addr.sin_addr);
      printf("%s (%u)
    ", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);
    
      buf2[2][0] = '4';
      memset(buf3, 0, 16);
      strcat(strcat(strcat(strcat(strcat(strcat(strcat(buf3,buf2[0]), "."), buf2[1]), "."), buf2[2]), "."), buf2[3]);
      inet_aton(buf3, &addr.sin_addr);
      printf("%s (%u)
    ", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);
    
      addr.sin_addr.s_addr = inet_addr("112.26.9.8");
      printf("%s (%u)
    ", inet_ntoa(addr.sin_addr), addr.sin_addr.s_addr);
    
      //---------------------------------------
      const char *address = "255.255.255.255";
    
      inet_aton(address, &addr.sin_addr);
      printf("%s (%u)
    ", address, addr.sin_addr.s_addr);
      //---------------------------------------
    
      return 0;
    }
    


  • 相关阅读:
    zigbee设备在Zstack中的体现
    第十一章 多态性练习
    IAR 下载 Fatal error: Failed to identify device. Check connections and/or reset hardware
    第十章 继承与派生练习题
    第九章 类和对象练习题(下)
    代码实现判断主机字节序(大端 or小端 )-- 面试题
    winrar解压时出现诊断信息怎么办?
    在线编译网站(持续更新)
    离线环境升级python及安装模块
    Zabbix监控DB,Tomcat
  • 原文地址:https://www.cnblogs.com/ztguang/p/12644655.html
Copyright © 2020-2023  润新知