回 帖 发 新 帖 刷新版面

主题: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.请高手指点迷津!

回复列表 (共1个回复)

沙发

问题已经解决!

我来回复

您尚未登录,请登录后再回复。点此登录或注册