1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <malloc.h>
  5. int main(int argc,char *argv[])
  6. {
  7. const char *ip ="192.168.34.232";
  8. char *ipstr=NULL;
  9. char str_ip_index[4]={'\0'};
  10. unsigned int ip_int,ip_add=0,ip_int_index[4],ip_temp_numbr=24;
  11. int j =0,a=3;
  12. for(unsigned int i =0;i<=strlen(ip);i++)//要用到'\0'
  13. {
  14. if (ip[i]=='\0'||ip[i]=='.')
  15. {
  16. ip_int =atoi(str_ip_index);
  17. if (ip_int<0||ip_int>255)
  18. {
  19. printf("IP地址有误\n");
  20. system("pause");
  21. return 0;
  22. }
  23. ip_add+=(ip_int*((unsigned int)pow(256.0,a)));
  24. a--;
  25. memset(str_ip_index,0,sizeof(str_ip_index));
  26. //          for (int x=0;x<4;x++)
  27. //          {
  28. //              str_ip_index[x]='\0';
  29. //          }
  30. j=0;
  31. continue;
  32. }
  33. str_ip_index[j]=ip[i];
  34. j++;
  35. }
  36. printf("%u\n",ip_add);
  37. //转换成x.x.x.x
  38. for(j=0;j<4;j++)
  39. {
  40. ip_int_index[j]=(ip_add>>ip_temp_numbr)&0xFF;
  41. ip_temp_numbr-=8;
  42. }
  43. if ((ipstr=(char *)malloc(17*sizeof(char)))==NULL)
  44. {
  45. return 0;
  46. }
  47. sprintf(ipstr,"%d.%d.%d.%d",ip_int_index[0],ip_int_index[1],ip_int_index[2],ip_int_index[3]);
  48. printf("%s\n",ipstr);
  49. free(ipstr);
  50. ipstr=NULL;
  51. system("pause");
  52. return 0;
  53. }

转换效果:

C语言实现字符串IP与整数型IP的相互转换的更多相关文章

  1. python实现判断一个字符串是否是合法IP地址

    #!usr/bin/env python #encoding:utf-8 ''''' __Author__:沂水寒城 功能:判断一个字符串是否是合法IP地址 ''' import re def jud ...

  2. 判断一个字符串是否是合法IP地址

    # -*- coding: utf-8 -*- """ @File:test06_判断ip地址是否合法.py @E-mail:364942727@qq.com @Time ...

  3. Java使用纯真IP库获取IP对应省份和城市

    原文:http://blog.csdn.net/chwshuang/article/details/78027873?locationNum=10&fps=1 Java使用纯真IP库获取IP对 ...

  4. go语言之字符串、指针、数组、切片、结构struct、面向对象

    一: 字符串 概述: Go 语言将字符串作为 种原生的基本数据类型,字 符串的初始化可以使用字符串字面量. (1)字符串是常量,可以通过类 数组 索引访问其字节单元,但是不能修改某个字节的值 (2)宇 ...

  5. [LeetCode] Validate IP Address 验证IP地址

    In this problem, your job to write a function to check whether a input string is a valid IPv4 addres ...

  6. [LeetCode] Restore IP Addresses 复原IP地址

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  7. c#中获取服务器IP,客户端IP以及Request.ServerVariables详细说明

    客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString();  客户端主机名: Request.ServerVaria ...

  8. C#获取本机IP以及无线网ip

       1 private void GetIP()   2 { 3 string hostName = Dns.GetHostName();//本机名 4 //System.Net.IPAddress ...

  9. node.js使用免费的阿里云ip查询获取ip所在地

    在项目过程中,我们常常需要获取IP的所在地.而这一功能一般都是通过一些数据网站的对外接口来实现,这些接口一般情况下都是付费使用的.在这篇文章中我将记录,基于node.js的阿里云免费IP地址查询接口的 ...

随机推荐

  1. 当SQL UPDATE遇到EXISTS(SELECT ...)时

    直接上例子. user表: ; -- ---------------------------- -- Table structure for user -- --------------------- ...

  2. Java如何比较两个数组是否相等?

    在Java中,如何检查两个数组是否相等? 示例 以下示例显示如何使用数组的equals()方法来检查两个数组是否相等. package com.yiibai; import java.util.*; ...

  3. e587. Filling Basic Shapes

    There are two ways to fill basic shapes like lines and rectangles. The first is to use specific draw ...

  4. Type cvc-complex-type.2.4.c: The matching wildcard is strict...

    这个问题困扰了我两次,分别说一下原因:1. 如网上一些网友所言,是在配置Spring的标签库的时候有拼写错误或者遗漏.下面贴一个标准3.0的吧: <?xml version="1.0& ...

  5. PLSQL Developer连接不上64位Oracle 10g的解决办法

    下载instantclient-basic-win32-10.2.0.4.zip 假设Oracle 10g的安装目录为D:\oracle\product\10.2.0\db1 首先,将instantc ...

  6. Wings 3D

    Wings 3D 编辑 Wings 3D 是一个开源的三维计算机图形软件.使用翼边数据库.注重于多边形建模,构思取与 Izware 的 Nendo 和 Mirai.支持多种操作系统,包括 Linux. ...

  7. logstash 主题综合篇

    一.[logstash-input-file]插件使用详解(配置) logstash input 监听多个目标文件. 二.Logstash Reference(官方参数配置说明)

  8. SSL 证书服务推荐

    最近要用到ssl.故做了一些搜索 1.Let's Encrypt:免费,快捷,支持多域名(不是通配符),三条命令即时签署+导出证书.缺点是暂时只有三个月有效期,到期需续签. 2.StartSSL免费D ...

  9. Yii2 session的使用方法(3)

    Flash数据是一种特别的session数据,它一旦在某个请求中设置后, 只会在下次请求中有效,然后该数据就会自动被删除. 常用于实现只需显示给终端用户一次的信息, 如用户提交一个表单后显示确认信息. ...

  10. 【转】Spring Boot干货系列:(二)配置文件解析

    转自:Spring Boot干货系列:(二)配置文件解析 前言 上一篇介绍了Spring Boot的入门,知道了Spring Boot使用"习惯优于配置"(项目中存在大量的配置,此 ...