ipwry源码

qqwry、ipwry都是cnss(http://blog.csdn.net/cnss/article/details/136069)出品,终于找到了源码,下载地址:http://download.csdn.net/detail/lgh1992314/6564157

http://download.csdn.net/detail/lgh1992314/6564163


简单实现下查询操作:


ipsearcher.h

#ifndef IPSEARCHER_H
#define IPSEARCHER_H

#pragma comment(lib, "ipsearcher.lib")

extern "C"
{
	void* __cdecl _GetAddress(const char *IPstr);		//获取地址

	void* __cdecl GetAddressInt(unsigned int ip);		//获取地址 

	bool __cdecl Reload();								//重新加载ipwry.dat

	unsigned int __cdecl IPCount();						//返回有多少条IP

	char* __cdecl DateTime();							//返回数据生成的日期时间
};

#endif // IPSEARCHER_H 

test.cpp

#include <iostream>
#include <string>
#include "ipsearcher.h"
using namespace std;
#pragma comment(lib, "ipsearcher.lib")

inline unsigned int str2ip(const char *lp)
{
	unsigned int ret = 0;
	unsigned char now = 0;

	while(*lp)
	{
		if('.' == *lp)
		{
			ret = 256 * ret + now;
			now = 0;
		}
		else
			now = 10 * now + *lp - '0';
		++lp;
	}
	ret = 256 * ret + now;

	return ret;
}

int main(void)
{
	cout <<"IPwry:存在" << IPCount() << "条记录" << endl;
	cout << "更新时间:" << DateTime() << endl;
	char **pstr = NULL;
	string str;
	while (cin >> str)
	{
		//pstr = (char**)_GetAddress(str.c_str());  
		pstr = (char **)GetAddressInt(str2ip(str.c_str()));
		cout << pstr[0] << pstr[1] << endl;
	}
	return 0;
}
ipwry源码_第1张图片

你可能感兴趣的:(ipwry源码)