本帖最后由 VisualEleven 于 2010-11-08 09:59:00 编辑

解决方案 »

  1.   

    ?字符处理不也可以吗?
    atoi()+一个循环就搞定了吧~
      

  2.   

    将点分的IP地址转成DWORD类型的
    DWORD dwStart = inet_addr("192.168.1.1");
    DWORD dwEnd = inet_addr("192.168.1.255");
    for(DWORD i = dwStart; i<dwEnd; i++)
    {
     ...
    }
      

  3.   

    for(DWORD i = dwStart; i<dwEnd; i++)
    ->
    for(DWORD i = dwStart; i<=dwEnd; i++)
      

  4.   

    自己把代码贴上~~~
    (*^__^*) 嘻嘻……
    #include <stdio.h>
    int  main()
    {
    char *str1="192.168.1.10";
    char *str2="192.168.1.200";
    int ip1[4]={0};
    int ip2[4]={0}; int i=0;
    int j=0;
    while (str1[i]){
    if (str1[i]=='.') j++;
    else
    ip1[j]=ip1[j]*10 + str1[i] - '0';
    i++;
    } printf("%d.%d.%d.%d\n",ip1[0],ip1[1],ip1[2],ip1[3]);    i=0;
        j=0;
    while (str2[i]){
    if (str2[i]=='.') j++;
    else
    ip2[j]=ip2[j]*10 + str2[i] - '0';
    i++;
    }
    printf("%d.%d.%d.%d\n",ip2[0],ip2[1],ip2[2],ip2[3]);
    while (ip2[0]>=ip1[0])
    {
    ip1[0]++;
    while(ip2[1]>=ip1[1])
    {
    ip1[1]++;
    while(ip2[2]>=ip1[2])
    {
    ip1[2]++;
    while(ip2[3]>ip1[3])
    {
    ip1[3]++;
    printf("%d.%d.%d.%d\n",ip1[0],ip1[1],ip1[2],ip1[3]);
    } } }
    }
    return 0;}
      

  5.   

    CString strip1 = "192.168.1.1";
    CString strip2 = "192.168.1.10";
    DWORD start=  ntohl( inet_addr(strip1) );//ntohl( inet_addr(ip1) );
        DWORD ipend = ntohl( inet_addr(strip2) ); CString tmp="";
    for (DWORD i =start; i<=ipend;i++)
    {
    tmp.Format("%d.%d.%d.%d",(0xFF000000&i)>>24,
                         (0xFF0000&i)>>16,
                         (0xFF00&i)>>8,
                         0xFF&i);
    AfxMessageBox(tmp);
    }