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; }