求IP的问题? 本帖最后由 VisualEleven 于 2010-11-08 09:59:00 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ?字符处理不也可以吗?atoi()+一个循环就搞定了吧~ 将点分的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++){ ...} for(DWORD i = dwStart; i<dwEnd; i++)->for(DWORD i = dwStart; i<=dwEnd; i++) 自己把代码贴上~~~(*^__^*) 嘻嘻……#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;} 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); } 有没有不依赖于消息机制就可以判断鼠标左键正在按下的方法? vc 中按钮双击事件无响应 用_beginthreadex不断的创建线程出现的问题 高薪诚聘vc++程序员 注册表查询问题 “Setup*”api在98和2k下有什么不同?可都是api啊! 怎样在CScrollView里,更改映射模式等属性来缩放视图 sdk中如何操纵list control 400元求解:困惑很久的一个问题 关于虚函数?? MFC获取所有窗口句柄 谁给我一个signcode.exe的GUI版的?
atoi()+一个循环就搞定了吧~
DWORD dwStart = inet_addr("192.168.1.1");
DWORD dwEnd = inet_addr("192.168.1.255");
for(DWORD i = dwStart; i<dwEnd; i++)
{
...
}
->
for(DWORD i = dwStart; i<=dwEnd; i++)
(*^__^*) 嘻嘻……
#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;}
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);
}