C语言 获取一个网段

linus 2012-03-07 05:00:24
比如:

起始IP为192.168.1.23
终止IP为192.168.1.100


通过程序方式实现 输出 192.168.1.23 192.168.1.24 192.168.1.35 ...192.168.1.100


或者起始IP为192.168.1.36
终止IP为192.168.2.136

就需要 输出(255-36) + 255个 IP地址


要用C语言函数实现. 不要用死办法 一个个去 for循环出来


...全文
233 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-03-08
  • 打赏
  • 举报
回复
先按照大端序存储到内存里, 然后ntohl转为本机序, 然后对这个long变量慢慢+1直到与另一个long变量相等即可.
linus 2012-03-08
  • 打赏
  • 举报
回复
求解!
东莞某某某 2012-03-07
  • 打赏
  • 举报
回复
毫无疑问的选inet_addr
孤独小剑 2012-03-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 luoyaojun000 的回复:]

我知道了, 用inet_addr 函数 转换成long型 比较。
[/Quote]不然还有别的办法,一个段一个段的就算了,其实估计你这个需求可以改成用掩码的形式,比如
192.168.0.51到192.168.0.55可以表示成
192.168.0.51/32
192.168.0.52/30
linus 2012-03-07
  • 打赏
  • 举报
回复
我知道了, 用inet_addr 函数 转换成long型 比较。
linus 2012-03-07
  • 打赏
  • 举报
回复
不是作业贴。 是一个动态库的局部。

不是不能用for while 只是不要用

for(ip1){

for(ip2){

for(ip3){

for(ip4)
}
}
}


JackPan 2012-03-07
  • 打赏
  • 举报
回复
不能用for while?????
gqjjqg 2012-03-07
  • 打赏
  • 举报
回复
作业贴?

70,023

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧