现在要写一个程序,从一个TXT文件里面读出10个网站的IP地址。
然后针对这10个IP地址添加10条路由。添加路由的命令需要输入对应IP地址的MASK,请问这个MASK怎么用代码计算出来?我需要如下一个函数:void MakeMask(const string & ip, string & mask)
{
  //这里该如何写代码?
}

解决方案 »

  1.   

    通常做法,掩码设为ffffffff,然后根据有多少个子网,比如有100个,计算100小于2的多少方,100 < 2^7
    所以将最后7位置成0
    就是ff ff ff 80,也就是255.255.255.128
      

  2.   


    问题是根本不知道什么子网不子网啊,就是根据一个网站的IP添加路由,添加路由的时候需要MASK,然后我就不知道这个MASK怎么计算了。
      

  3.   

    mask是算不出来的,只能根据ip + mask 算子网地址和广播地址.
      

  4.   

    这个mask不是固定的,不同的网络可能有不同的划分。没有办法根据IP得到子网掩码。
      

  5.   

    直接用255.255.255.255就可以了啊
    mask设置是看你想怎么路由了