亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: C語言如何判斷輸入的字符串是否為IP地址! [打印本頁]

作者: zsj_0927    時間: 2007-04-26 11:19
標(biāo)題: C語言如何判斷輸入的字符串是否為IP地址!
如題!~
作者: MMMIX    時間: 2007-04-26 11:30
根據(jù) IP 地址的規(guī)則判斷。
作者: ryuken2000    時間: 2007-04-26 11:45
以下是一個判斷輸入字符串是否是IPv4地址的例子,判斷是否為IPv6地址的方法你自己鉆研吧。

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>

int if_a_string_is_a_valid_ipv4_address(const char *str)
{
    struct in_addr addr;
    int ret;
    volatile int local_errno;

    errno = 0;
    ret = inet_pton(AF_INET, str, &addr);
    local_errno = errno;
    if (ret > 0)
        fprintf(stderr, "\"%s\" is a valid IPv4 address\n", str);
    else if (ret < 0)
        fprintf(stderr, "EAFNOSUPPORT: %s\n", strerror(local_errno));
    else
        fprintf(stderr, "\"%s\" is not a valid IPv4 address\n", str);

    return ret;
}
作者: W.Z.T    時間: 2007-04-26 11:46

  1. #include <stdio.h>
  2. #include <string.h>

  3. void check_ip(char *str)
  4. {
  5.         int i=0,count = 0;;

  6.         for ( ; i < strlen(str) ; i++ ) {
  7.                 if ( !(str[i] >= '0' && str[i] <= '9' )) {
  8.                         if ( str[i] == '.' ) {
  9.                                 count++;
  10.                                 continue;
  11.                         }
  12.                         printf("[-] Not IP.\n");
  13.                         exit(0);
  14.                 }
  15.         }

  16.         if (count == 3 )
  17.                 printf("[+] OK.\n");
  18.                 else
  19.                                 printf("[-] NOT IP.\n");

  20. }

  21. int main(void)
  22. {
  23.         char *s="127.0.0.1.";

  24.         check_ip(s);

  25.         return 0;
  26. }
復(fù)制代碼

[ 本帖最后由 W.Z.T 于 2007-4-26 11:54 編輯 ]
作者: gnap    時間: 2007-04-26 12:20
使用inet_pton判斷
作者: cjaizss    時間: 2007-04-26 12:22
那么麻煩做什么?
直接inet_pton判斷不就得了?
作者: W.Z.T    時間: 2007-04-26 13:26
原帖由 cjaizss 于 2007-4-26 12:22 發(fā)表
那么麻煩做什么?
直接inet_pton判斷不就得了?


還得加頭文件
作者: zsj_0927    時間: 2007-04-26 14:16
謝謝!~~
作者: ddvv    時間: 2007-04-26 15:52
正則表達(dá)式
作者: wanfustudio    時間: 2007-04-26 16:39
可以用正則表達(dá)式判斷

當(dāng)然int_pton也很簡單
作者: langue    時間: 2007-04-26 19:11
.

人腦可以做到的事情,可以這樣轉(zhuǎn)為計(jì)算機(jī)指令:

1、人思考一遍問題,留心思考過程
2、把思考過程記述下來
3、利用程序設(shè)計(jì)語言這個工具,將人思考的過程轉(zhuǎn)為代碼
4、調(diào)試、測試
5、維護(hù)

.
作者: MMMIX    時間: 2007-04-26 19:24
原帖由 langue 于 2007-4-26 19:11 發(fā)表
.

人腦可以做到的事情,可以這樣轉(zhuǎn)為計(jì)算機(jī)指令:

1、人思考一遍問題,留心思考過程
2、把思考過程記述下來
3、利用程序設(shè)計(jì)語言這個工具,將人思考的過程轉(zhuǎn)為代碼
4、調(diào)試、測試
5、維護(hù)

.

總結(jié)的很好。以后再有求作業(yè)答案的就直接把這個 copy 過去。
作者: nnnqpnnn    時間: 2007-04-26 20:10
授之以魚,不如授之以漁。
培養(yǎng)解決問題的能力比知道如何解決一個問題更重要。
作者: zsj_0927    時間: 2007-04-27 10:24
原帖由 langue 于 2007-4-26 19:11 發(fā)表
.

人腦可以做到的事情,可以這樣轉(zhuǎn)為計(jì)算機(jī)指令:

1、人思考一遍問題,留心思考過程
2、把思考過程記述下來
3、利用程序設(shè)計(jì)語言這個工具,將人思考的過程轉(zhuǎn)為代碼
4、調(diào)試、測試
5、維護(hù)

.



謝謝你的建議,很受用!~~
作者: allen108903    時間: 2007-10-29 14:59

謝謝,很受用
作者: Godbach    時間: 2007-10-29 16:09
百度的題
作者: Godbach    時間: 2007-10-29 16:17
-----

[ 本帖最后由 Godbach 于 2007-10-29 16:21 編輯 ]
作者: 放驢娃    時間: 2007-10-29 16:20
樓上的程序?qū)懙谜鏍。
作者: Godbach    時間: 2007-10-29 16:22
標(biāo)題: 回復(fù) #18 放驢娃 的帖子
見笑了,不敢丟人顯眼了
作者: linux_ha    時間: 2007-10-29 16:25
原帖由 W.Z.T 于 2007-4-26 11:46 發(fā)表

#include
#include

void check_ip(char *str)
{
        int i=0,count = 0;;

        for ( ; i < strlen(str) ; i++ ) {
                if ( !(str >= '0' && str  

從形式上判斷是簡單些,但從內(nèi)容上判斷?比如999.0.010.3
作者: Godbach    時間: 2007-10-29 16:27
每一個字段都應(yīng)該在[0,255]中間啊
作者: linux_ha    時間: 2007-10-29 16:29
原帖由 Godbach 于 2007-10-29 16:27 發(fā)表
每一個字段都應(yīng)該在[0,255]中間啊

是啊!
作者: www.netbor.net    時間: 2007-10-29 16:32
原帖由 wanfustudio 于 2007-4-26 16:39 發(fā)表
可以用正則表達(dá)式判斷

當(dāng)然int_pton也很簡單

嚴(yán)重同意。
作者: 一路征程一路笑    時間: 2007-10-30 15:35
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
作者: cjaizss    時間: 2007-10-30 16:07
直接一個正則表達(dá)式能判斷這個???擴(kuò)展的除外
作者: yecheng_110    時間: 2007-10-30 16:36
標(biāo)題: 回復(fù) #25 cjaizss 的帖子
/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3,3}$/
作者: evaspring    時間: 2007-10-30 20:09
原帖由 yecheng_110 于 2007-10-30 16:36 發(fā)表
/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3,3}$/







歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2