主题:SendARP()函数的使用
小弟编了个小程序,在使用该函数时,遇到问题,请各路高手指点一下我错在哪里了
我是想实现:测试指定的IP是否已经被占用
#include <stdio.h>
#include <winsock2.h>
#include "Iphlpapi.h"
#pragma comment(lib,"iphlpapi.lib")
#pragma comment(lib,"wsock32.lib")
void main()
{
int k;
char IP[16];
ULONG Mac=0,MacLen=0;
memset(IP,'\0',sizeof(IP));
while(1)
{
printf("Input the IP you wanna check:");
scanf("%s",IP);
k=SendARP(htonl(inet_addr(IP)),0,&Mac,&MacLen);
if(k==NO_ERROR)
printf("The IP has already existed!");
else
printf("SendARP failed\n");
}
}
该程序编译已通过,但我在运行时,尽管输入的IP是本子网存活主机的IP,得到的结果总是SendARP failed.请高手指点迷津!
我是想实现:测试指定的IP是否已经被占用
#include <stdio.h>
#include <winsock2.h>
#include "Iphlpapi.h"
#pragma comment(lib,"iphlpapi.lib")
#pragma comment(lib,"wsock32.lib")
void main()
{
int k;
char IP[16];
ULONG Mac=0,MacLen=0;
memset(IP,'\0',sizeof(IP));
while(1)
{
printf("Input the IP you wanna check:");
scanf("%s",IP);
k=SendARP(htonl(inet_addr(IP)),0,&Mac,&MacLen);
if(k==NO_ERROR)
printf("The IP has already existed!");
else
printf("SendARP failed\n");
}
}
该程序编译已通过,但我在运行时,尽管输入的IP是本子网存活主机的IP,得到的结果总是SendARP failed.请高手指点迷津!