| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 818 人关注过本帖
标题:用string类实现的提取IP的各个域
只看楼主 加入收藏
df19861017
Rank: 2
等 级:论坛游民
帖 子:15
专家分:29
注 册:2010-9-30
结帖率:100%
收藏
 问题点数:0 回复次数:0 
用string类实现的提取IP的各个域
之前那个是用字符串指针实现的,发现用string类实现比较简单些
#include <iostream>
#include <string>
using namespace std;

bool isDigit(char ch)
{
    if((ch-'0')>=0 && (ch-'0')<=9)
        return true;
    return false;
}

unsigned int strToIP(string str,string &temp)
{
    unsigned int result=0;
    int value;
    int i=0;
    while((value=isDigit(str[i])?(str[i]-'0'):-1)>=0)
    {
        result=result*10+value;
        ++i;
        if(i==str.size())
            goto label;
    }
label:
    if(i!=str.size())
        temp=str.substr(i+1,str.size()-i-1);
    else
        temp="";
    return result;
}

void str_to_myip(string str)
{
    string temp;
    for(int i=0;i<4;++i)
    {
        unsigned int value=(!str.empty())?strToIP(str,temp):0;
        cout<<value<<endl;
        str=temp;
    }
}

int main()
{
    string ip="192.168.1.100";
    str_to_myip(ip);
    return 0;
}
搜索更多相关主题的帖子: false 字符串 
2010-12-26 22:31
快速回复:用string类实现的提取IP的各个域
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021009 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved