1. 程式人生 > >判斷一個字串的ip是否是IP合法的ip地址

判斷一個字串的ip是否是IP合法的ip地址

#include<stdio.h>
#include<iostream>

int check_if_ipaddr(unsigned char *ipstr){

int ret = -1;
unsigned char dotnum = 0;
unsigned short maxval = 0;


while(*ipstr != '\0'){

    if((*ipstr >= '0') && (*ipstr <= '9')){
            maxval = maxval*10 + (*ipstr - '0');
    }else if(*ipstr == '.'){
            dotnum++;
            if(dotnum > 3){
            printf("dot num is large than 3\r\n");
            return -1;
    }
     if(maxval< 0 || maxval >255){
           printf("max value is larger than 255 value=%d\r\n",maxval);
          return -1;
      }
      maxval = 0;
}else{
     printf("ipstring char is illegal \r\n");
     return -1;
}
               ipstr++;
}
if(maxval >=0 && maxval <=255){
if(dotnum == 3){
                    return 1;
}
}
return -1;
}


int main()
{
int result = -1;
unsigned char ipstradd[60] ="192.168.0.103";

相關推薦

Java判斷一個字串是不是合法的日期格式

1 public static boolean isValidDate(String str) { 2 boolean convertSuccess = true; 3 //指定日期格式為"yyyy-MM-dd HH:mm:ss", 注意區分大小寫 4 SimpleDa

判斷一個字串ip是否是IP合法ip地址

#include<stdio.h> #include<iostream> int check_if_ipaddr(unsigned char *ipstr){int ret = -1;unsigned char dotnum = 0;unsigned short maxval = 0;

如何利用Python判斷一個字串合法ip

這是京東2018年校招面試,面試官問的問題,當時現場我用的正則表示式,但是由於正則表示式忘記不少,,,於是該題目沒有完全解決 回來自己又重新思考了一下,這個問題,覺得可以這樣判斷 #!/usr/bin/python import os,sys def check_ip(

python實現判斷一個字串是否是合法IP地址

一個剛結束的筆試題目,簡單貼一下吧,下面是具體實現: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:判斷一個字串是否是合法IP地址 ''' import re def judge_lega

JAVA 判斷一個字串是不是一個合法的日期格式format.setLenient(false);

一直找不到合適的正則表示式可以判斷一個字串是否可以轉成日期,今天發現可以採用SimpleDateFormat類的parse方法進行判斷,如果轉換不成功,就會出現異常, 具體程式碼如下: public static

JAVA 判斷一個字串是不是一個合法的日期格式

public static boolean isValidDate(String str) { boolean convertSuccess=true;      // 指定日期格式為四位年/兩位月份/兩位日期,注意yyyy/MM/dd區分大小寫;

判斷一個字串是否被Base64加密

例如: 字串:RGFqaURhbGlfSmlud2FuQ2hpamk= 首先要知道什麼是Base64加密?就是Base64是怎麼加密的? Base64編碼是從二進位制到字元的過程,可用於在HTTP環境下傳遞較長的標識資訊   至於Base64是怎麼加密的? 看一個簡單的例子: 轉前

java用正則表示式判斷一個字串是否是車牌號

public boolean checkCarNumber(String content) { String pattern = "([京津滬渝冀豫雲遼黑湘皖魯新蘇浙贛鄂桂甘晉蒙陝吉閩貴粵青藏川寧瓊]{1}(([A-HJ-Z]{1}[A-HJ-NP-Z0-9]{5})|([A-HJ-

判斷一個字串是否迴文

function isPalindrome(s){ var arr=s.split(''); arr.reverse(); var newStr=arr.join(''); ret

mysql 函式 判斷一個字串裡面包含幾個其他的字元

1.mysql函式: 判斷一個字串裡面包含幾個‘;’ drop function if exists func_containumsplit; create function func_containumsplit(targetstr varchar(500)) returns INT beg

(ES6的“...“配合ES5‘’forEach‘’)前端面試之判斷一個字串中出現次數最多的字元,統計這個次數

// 判斷一個字串中出現次數最多的字元,統計這個次數 let str = 'aasdadddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsdasjjhsghkafsagjkg

判斷一個字串中數字還是字母(java)

public class Test {     public static void main(String[] args) {         String str = "wq8123fvvbvrt78931321"; &nb

判斷一個字串是否由數字組成

想要判斷一個字串是否由數字組成: 首先我們不知道字串的長度以及所包含的內容 所以我們先把字串轉化為字元陣列 然後判斷每一個字元是否是0—9之間的內容 如果是,則為數字 public class test{ public static void

Java中怎樣判斷一個字串是否是數字

在程式設計的時候,經常遇到要判斷一個字串中的字元是否是數字(0-9),判斷字串是不是數字,大家可能會用一些java自帶的方法,也有可能用其他怪異的招式,比如判斷是不是整型數字,將字串強制轉換成整型,不是數字的就會丟擲錯誤,那麼就不是整型的了,下面我給大家介紹幾種實現方法 1.使用Characte

freemarker中判斷一個字串是否包含另一個字串(select多選框資料回顯)

開發中用到了select多選框,所以資料回顯就要換一種方式解決。多選框返回的資料是一個用逗號分隔的字串,比如“a,b,c”,回顯的時候用contains判斷從而決定是否對每個option進行checked。 <#if "a,b,c,"?contains("a")>

1.實現一個函式,可以左旋字串中的k個字元。 2.判斷一個字串是否為另外一個字串旋轉之後的字串

1.實現一個函式,可以左旋字串中的k個字元 ABCD左旋一個字元得到BCDA ABCD左旋兩個字元得到CDAB #include<stdio.h> #include<string.h> void left_move(char*str, int

js 判斷一個字串中出現次數最多的字元,統計其出現次數

js 判斷一個字串中出現次數最多的字元,統計其出現次數 var str = 'asdfssaaasasasasaa'; var json = {}; for (var i = 0; i < str.length; i++) { if(!json[str.charAt(i

判斷一個字串中出現次數最多的字元,統計這個次數

var str = 'asdfssaaasasasasaa'; var json = {}; for (var i = 0; i < str.length; i++) { if(!json[str.charAt(i)]){ json[str.cha

判斷一個字串是否為另外一個字串旋轉之後的字串

例如:給定s1 = AABCD和s2 = BCDAA,返回1,給定s1 = abcd和s2 = ACBD,返回0. AABCD左旋一個字元得到ABCDA AABCD左旋兩個字元得到BCDAA AABCD右旋一個字元得到DAABC int is_left_mov

MySQL開發-判斷一個字串裡面包含幾個其他的字元,逐個獲取以分隔符間隔的字串

一、獲取一個字串中包含幾個指定的匹配字串 在儲存過程中要對一個字元中進行分割,獲取裡面以','分隔的各個字串,如: '0102_001956B_1,0102_001955A_1,0102_001954C_1,0102_001953D_1,0102_001952E_1'