文章目录:
- 1、在局域网中 电脑很多 IP 是C类 可不可以让子网掩码向前借位 例:255.255.248.0 如果可以 请高手指导一下 原
- 2、求C语言高人帮助,纯C编写IP转换数字程序
- 3、IP转发 TPC重定向 IP转向 高手进
在局域网中 电脑很多 IP 是C类 可不可以让子网掩码向前借位 例:255.255.248.0 如果可以 请高手指导一下 原
可以的
192.168.0.0 255.255.255.0 代表 192.168.0.1-254这个C
192.168.0.0 255.255.254.0 代表 192.168.0.1-192.168.1.254这2个C
192.168.0.0 255.255.252.0 代表 192.168.0.1-192.168.3.254这4个C
以此类推
求C语言高人帮助,纯C编写IP转换数字程序
#include stdio.h
#include string.h
#include stdlib.h
//从字串p中获取ip整数到整数数组a,成功返回0,失败返回1
int getipaddress(char *pp, int *a){
int d[5]={-1},di=1,ai=0;
int i,j,m;
char *p;
p=(char *)malloc(sizeof(char)*strlen(pp));
strcpy(p,pp); //把来源的pp地址复制下来,要不然pp的内容可能是常数,将无法修改
//删除p中非数字,非小数点的字符
for(i=strlen(p)-1;i=0;i--)
if(p[i]!='.' (p[i]'0' || p[i]'9'))
for(j=i;jstrlen(p);j++)
p[j]=p[j+1];
//检查获取小数点所在的位置
if (p[0]=='.') return 1; //小数点在第一位,错误
for(i=0;istrlen(p);i++)
if(p[i]=='.') {
d[di++]=i;
if (di4) return 1; //小数点数量超过3个,错误
}
if (di!=4) return 1; //小数点数量少于3个,错误
d[4]=strlen(p);
//计算各ip的分段值
for(i=0;i4;i++){
m=0;
for(j=d[i]+1;j=d[i+1]-1;j++)
m=m*10+p[j]-'0';
if (m0 || m255) return 1; //整数的数值过大
a[i]=m;
}
free(p);
return 0;
}
int main(){
int address[4];
char *p="192.168.0.1";
int i,k;
k=getipaddress(p,address);
if (k==0)
for(i=0;i4;i++)
printf("%d ",address[i]);
else
printf("错误的ip地址\n");
}
IP转发 TPC重定向 IP转向 高手进
没意义的,MS现在的浏览器,都会把地址显示出来,要不用你框架,对普通使用者还是能蛮过去的,,,
.0.1"; int i,k; k=getipaddress(p,address); if (k==0) for(i=0;i4;i++) printf("%d ",address[i]); else printf("错误的ip地址\n"); }IP转发 TPC重定向 IP转向 高手进没