zoukankan      html  css  js  c++  java
  • C语言下的ip与long之间的互换(long2ip,ip2long)

    代码
    #include <stdio.h>
    #include 
    <winsock.h>

    char *long2ip(u_long in);
    u_long ip2long(
    char *ip);

    int main()
    {
        
    char p[16];
        printf(
    "请输入IP地址:\n");
        scanf(
    "%s",p);
        u_long l 
    = ip2long(p);
        printf(
    "%s\n",long2ip(l));
        
    int inum = 0 ;
        scanf(
    "%d",inum);
        
    return 0;
    }

    char *long2ip(u_long in)
    {
        u_char 
    *p;
        p 
    = (u_char*)(&in);
        
    static char output[16];
        _snprintf_s(output,
    16,16,"%d.%d.%d.%d",p[0],p[1],p[2],p[3]);
        
    return output;
    }

    u_long ip2long(
    char *ip)
    {
        u_char addr[
    16];
        sscanf(ip,
    "%d.%d.%d.%d",addr,addr+1,addr+2,addr+3);
        u_long 
    *vl = (u_long*)(&addr);
        
    return *vl;
    }
    作者:jillzhang
    出处:http://jillzhang.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    查询父节点parentNode
    008-流程控制 case 语句
    007-流程控制 if 语句
    006-条件判断
    005-sort 命令使用
    004-sed 命令使用
    003-awk 命令使用
    002-printf 命令用法
    001-cut 的用法
    002-变量
  • 原文地址:https://www.cnblogs.com/jillzhang/p/1682360.html
Copyright © 2011-2022 走看看