亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nl_qqwry.cpp

?? 軟件源代碼,共享。有2個文件
?? CPP
字號:
// NL_QQwry.cpp: implementation of the NL_QQwry class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "NL_QQwry.h"
#include <atlbase.h>
#include <string>
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

NL_QQwry::NL_QQwry()
{
	m_bOpen=OpenQQwry("QQwry.dat");
	GetBE();
}

NL_QQwry::~NL_QQwry()
{
	CloseQQwry();
}

bool NL_QQwry::OpenQQwry(CString szFileName)
{
	if(!m_file.Open(szFileName,CFile::modeRead|CFile::typeBinary))
		return false;
	else
		return true;
}

void NL_QQwry::CloseQQwry()
{
	if(m_bOpen)m_file.Close();
}

bool NL_QQwry::GetBE()
{
	if(!m_bOpen)return false;
	m_file.Seek(0,CFile::begin);
	if(m_file.Read(&m_be,sizeof(BE))>0)
		return true;
	else
		return false;
}


int NL_QQwry::GetStartIPInfo(int iIndex)
{
	BYTE buf[MAXBUF];
	int ioff;
	if(!m_bOpen) return 0;
	ioff=m_be.uBOff+iIndex*7;
	if(ioff>m_be.uEOff) return 0;
	m_file.Seek(m_be.uBOff+iIndex*7,CFile::begin);
	m_file.Read(&m_ipoff,sizeof(IPOFF));
	ioff=(m_ipoff.off1+m_ipoff.off2*256+m_ipoff.off3*256*256);
	m_file.Seek(ioff,CFile::begin);
	m_file.Read(&m_ei,sizeof(EndInfo));

	if(m_ei.buf[0]!=1 &&  m_ei.buf[0]!=2)
	{
		m_ei.bMode=1;//沒有跳
		for(int i=0;i<MAXBUF;i++)
		{
			if(m_ei.buf[i]==0)
			{
				if(m_ei.buf[i+1]==2)
				{
					m_ei.bMode=2;//Local 跳
					m_ei.offset1=m_ei.buf[i+2]+
						m_ei.buf[i+3]*256+
						m_ei.buf[i+4]*256*256;
				}
				break;
			}
		}
	}
	else if(m_ei.buf[0]==2)
	{
		m_ei.bMode=3;//Country 跳 local不跳
		m_ei.offset1=m_ei.buf[1]+m_ei.buf[2]*256+m_ei.buf[3]*256*256;
		if(m_ei.buf[4]!=2)
		{
			m_ei.bMode=3;
		}
		else
		{
			m_ei.bMode=4;//Country跳 local跳
			m_ei.offset2=m_ei.buf[5]+m_ei.buf[6]*256+m_ei.buf[7]*256*256;
		}
	}
	else if(m_ei.buf[0]==1)
	{
		m_ei.offset1=m_ei.buf[1]+m_ei.buf[2]*256+m_ei.buf[3]*256*256;
		m_file.Seek(m_ei.offset1,CFile::begin);
		m_file.Read(buf,MAXBUF);
		memcpy(m_ei.buf,buf,MAXBUF);
		m_ei.bMode=0;
		if(m_ei.buf[0]!=2)
		{
			for(int i=0;i<MAXBUF;i++)
			{
				if(m_ei.buf[i]==0)
				{
					if(m_ei.buf[i+1]!=2)
					{
						m_ei.bMode=5;//1 沒有跳
					}
					else
					{
						m_ei.bMode=6;//1 Country不跳 Local 跳
						m_ei.offset2=m_ei.buf[i+2]+
							m_ei.buf[i+3]*256+
							m_ei.buf[i+4]*256*256;
					}
					break;
				}
			}
		}
		else
		{
			
			if(m_ei.buf[4]!=2)
			{
				m_ei.bMode=7;// 1 Country跳 Local不跳
				m_ei.offset2=m_ei.buf[1]+
							m_ei.buf[2]*256+
							m_ei.buf[3]*256*256;

			}
			else
			{
				m_ei.bMode=8;// 1 Country跳 Local跳
				m_ei.offset1=m_ei.buf[1]+
					m_ei.buf[2]*256+
					m_ei.buf[3]*256*256;
				m_ei.offset2=m_ei.buf[5]+
					m_ei.buf[6]*256+
					m_ei.buf[7]*256*256;
			}
		}
	}
	return ioff;
}


int NL_QQwry::GetRecordCount(void)
{
	if(!m_bOpen) return 0;
	if((m_be.uEOff-m_be.uBOff)<0) return 0;
	return (m_be.uEOff-m_be.uBOff)/7+1;
}


CString NL_QQwry::GetStr(int ioffset)
{
	if(ioffset>m_be.uEOff) return _T("");
	BYTE ch;
	std::string buf;
//	CString buf=_T("");
	m_file.Seek(ioffset,CFile::begin);
	int i=0;
	while(1)
	{
		m_file.Read(&ch,1);
		if(ch==0)
			break;
		buf+=ch;
		i++;
		if(i>50)break;
	}
	CString bufRet = ATL::CA2T(buf.c_str());
	return bufRet;
}

CString NL_QQwry::GetCountryLocal(int index)
{
	if(index<0 || index>GetRecordCount()-1)
		return _T("");
	return GetCountryLocal(m_ei.bMode,GetStartIPInfo(index)+4);
}

CString NL_QQwry::GetCountryLocal(BYTE bMode,int ioffset)
{
	CString buf=_T("");
	if(bMode==1)//X 沒有跳
	{
		buf=GetStr(ioffset);
		buf+=_T(" ");
		buf+=GetStr();
	}
	if(bMode==2)//X Country不跳 Local 跳
	{
		buf=GetStr(ioffset);
		buf+=_T(" ");
		buf+=GetStr(m_ei.offset1);
	}
	if(bMode==3)//2 Country跳 local不跳
	{
		buf=GetStr(m_ei.offset1);
		buf+=_T(" ");
		buf+=GetStr(ioffset+4);
	}

	if(bMode==4)//2 Country跳 local跳
	{
		buf=GetStr(m_ei.offset1);
		buf+=_T(" ");
		buf+=GetStr(m_ei.offset2);
	}

	if(bMode==5)//1 沒有跳
	{
		buf=GetStr(m_ei.offset1);
		buf+=_T(" ");
		buf+=GetStr();
	}

	if(bMode==6)//1 Country不跳 Local 跳
	{
		buf=GetStr(m_ei.offset1);
		buf+=_T(" ");
		buf+=GetStr(m_ei.offset2);
	}
	if(bMode==7)//1 Country跳 Local 不跳
	{
		buf=GetStr(m_ei.offset2);
		buf+=_T(" ");
		buf+=GetStr(m_ei.offset1+4);
	}
	if(bMode==8)//1 Country跳 Local跳
	{
		buf=GetStr(m_ei.offset1);
		buf+=_T(" ");
		buf+=GetStr(m_ei.offset2);
	}
	return buf;
}

CString NL_QQwry::GetStr()
{
	BYTE ch;
	std::string buf ;
	int i=0;
	while(1)
	{ 
		m_file.Read(&ch,1);
		if(ch==0)
			break;
		buf+=ch;
		i++;
		if(i>50)break;
	}
	CString bufRet = ATL::CA2T(buf.c_str());
	return bufRet;
}

CString NL_QQwry::IP2Add(CString szIP)
{
	if(szIP==_T("")) return _T("");
	return GetCountryLocal(GetIndex(szIP));
}

int NL_QQwry::GetIndex(CString szIP)
{
	int index=-1;
	DWORD dwInputIP;
	DWORD dwStartIP;
	dwInputIP=IP2DWORD(szIP);
	//
	//利用半跳方法速度快一些
	//
	int iT;
	int iB,iE;
	iB=0;
	iE=GetRecordCount()-1;
	iT=iE/2;
	
	while(iB<iE)
	{
		dwStartIP=GetSIP(iT);
		if(dwInputIP==dwStartIP)
		{
			index =iT;
			break;
		}
		if((iE-iB)<=1)
		{
			/*
			CString s;
			s.Format("%d %d %d %d in:%08X s:%08X",iE-iB,iB,iT,iE,dwInputIP,dwStartIP);
			if(MessageBox(0,s,0,MB_YESNO)==IDNO);
			//*/
			for(int i=iB;i<=iE;i++)
			{
				dwStartIP=GetSIP(i);
				if(dwStartIP<=dwInputIP && dwInputIP<=m_dwLastIP)
				{
					index=i;
					break;
				}
			}
			break;
		}

		if(dwInputIP>dwStartIP)
		{
			iB=iT;
		}
		else
		{
			iE=iT;
		}
		iT=iB+(iE-iB)/2;
	}
	return index;
}


DWORD NL_QQwry::GetSIP(int index)
{
	DWORD ip;
	BYTE b[3];
	int ioff;
	if(!m_bOpen)return -1;
	if(index>GetRecordCount()-1)return -1;
	if(index<0)return -1;
	ioff=m_be.uBOff+index*7;
	m_file.Seek(ioff,CFile::begin);
	m_file.Read(&ip,4);
	m_file.Read(b,3);
	ioff=b[0]+b[1]*256+b[2]*256*256;
	m_file.Seek(ioff,CFile::begin);
	m_file.Read(&m_dwLastIP,4);
	return ip;
}


DWORD NL_QQwry::IP2DWORD(CString szIP)
{
	DWORD iIP;
	BYTE b[4];
	CString szTemp;
	char ch;
	int iLen;
	int iXB;
	szIP+=_T(".");
	memset(b,0,4);
	iLen=szIP.GetLength();
	iXB=0;
	iIP=0;
	for(int i=0;i<iLen;i++)
	{
		ch=ATL::CT2A(szIP)[i];
		szTemp+=ch;
		if(ch==_T('.'))
		{
			b[iXB]=atoi(ATL::CT2A(szTemp));
			szTemp=_T("");
			iXB++;
		}
	}
	iIP=b[0]*256*256*256+b[1]*256*256+b[2]*256+b[3];
	return iIP;
}

/*

CString NL_QQwry::Test()
{
	int ioff;
	CString str;
	//m_buf.Format("%08X %08X",m_be.uBOff,m_be.uEOff);
	m_buf.Format(_T("Total %d\r\n"),GetRecordCount());
	
	//for(m_i=GetRecordCount()-200;m_i<GetRecordCount();m_i++)
	for(m_i=0;m_i<1000;m_i++)
	{
		ioff=GetStartIPInfo(m_i);

		if(m_ei.bMode>=1 && m_ei.bMode<=8)
		{
			str.Format(_T("%6d %03d.%03d.%03d.%03d ")
				_T("%03d.%03d.%03d.%03d  %d  %06X "),
			m_i,
			m_ipoff.b3,
			m_ipoff.b2,
			m_ipoff.b1,
			m_ipoff.b0,
			m_ei.b3,
			m_ei.b2,
			m_ei.b1,
			m_ei.b0,
			m_ei.bMode,
			ioff);
		m_buf+=str;

			str=GetCountryLocal(m_ei.bMode,ioff+4);
			str+="\r\n";
		}
		else
		{
		str.Format(_T("%6d %03d.%03d.%03d.%03d ")
			_T("%03d.%03d.%03d.%03d (%d) %06X "),
			m_i,
			m_ipoff.b3,
			m_ipoff.b2,
			m_ipoff.b1,
			m_ipoff.b0,
			m_ei.b3,
			m_ei.b2,
			m_ei.b1,
			m_ei.b0,
			m_ei.bMode,
			ioff);
		m_buf+=str;

		str.Format(_T("%02X-%02X-%02X-%02X-%02X ")
			_T("%02X-%02X-%02X-%02X-%02X ")
			_T("%02X-%02X-%02X-%02X-%02X ")
			_T("%02X-%02X-%02X-%02X-%02X\r\n"),

			m_ei.buf[0],
			m_ei.buf[1],
			m_ei.buf[2],
			m_ei.buf[3],
			m_ei.buf[4],
			m_ei.buf[5],
			m_ei.buf[6],
			m_ei.buf[7],
			m_ei.buf[8],
			m_ei.buf[9],
			m_ei.buf[10],
			m_ei.buf[11],
			m_ei.buf[12],
			m_ei.buf[13],
			m_ei.buf[14],
			m_ei.buf[15],
			m_ei.buf[16],
			m_ei.buf[17],
			m_ei.buf[18],
			m_ei.buf[19]);
		}
		m_buf+=str;
	}
	return m_buf;
}
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产区在线观看成人精品| 免费在线观看不卡| 亚洲成人动漫在线免费观看| 精品伊人久久久久7777人| 91同城在线观看| 精品久久久久久无| 午夜电影网亚洲视频| av亚洲产国偷v产偷v自拍| 日韩一级黄色片| 一区二区三区久久| 99re视频精品| 国产亚洲欧美在线| 另类人妖一区二区av| 欧美老年两性高潮| 亚洲精品欧美综合四区| 成人app软件下载大全免费| 精品久久久久久无| 美国十次了思思久久精品导航| 在线免费不卡视频| 一区二区在线看| 91在线云播放| 综合欧美一区二区三区| 国产精品99久| 亚洲国产精品麻豆| av影院午夜一区| 国产精品高潮呻吟久久| 成人免费毛片高清视频| 欧美国产精品v| 岛国精品一区二区| 欧美国产禁国产网站cc| 成人久久18免费网站麻豆| 中文字幕精品一区二区精品绿巨人 | 色8久久人人97超碰香蕉987| 国产精品色婷婷| 高清国产一区二区| 国产精品三级av| 粉嫩高潮美女一区二区三区| 久久综合av免费| 韩国一区二区视频| 久久久亚洲高清| 国产91富婆露脸刺激对白| 久久久久久一二三区| 国产不卡高清在线观看视频| 中文成人综合网| 波多野结衣一区二区三区| 亚洲欧洲另类国产综合| 色综合色狠狠天天综合色| 亚洲女与黑人做爰| 欧美日韩精品二区第二页| 日韩经典中文字幕一区| 日韩视频一区二区三区在线播放 | 日精品一区二区| 日韩一区二区电影网| 久久精品国产一区二区| 久久精品一区二区三区不卡 | 免费成人av在线播放| 精品国产乱码久久久久久1区2区| 国内久久精品视频| 国产精品成人在线观看| 欧美在线视频不卡| 久久精品噜噜噜成人88aⅴ| 久久精品日韩一区二区三区| 99精品久久久久久| 日韩精品色哟哟| 国产欧美综合色| 在线亚洲欧美专区二区| 另类人妖一区二区av| 国产精品素人一区二区| 欧美三级三级三级爽爽爽| 激情深爱一区二区| 亚洲四区在线观看| 精品少妇一区二区三区在线视频| 成人免费va视频| 日韩成人精品在线| 国产精品国产成人国产三级| 欧美精品一二三区| 丁香婷婷综合色啪| 免费看欧美美女黄的网站| 亚洲视频小说图片| 精品久久久久久久久久久久久久久久久 | 国产大片一区二区| 婷婷久久综合九色综合伊人色| 久久精品欧美一区二区三区不卡| 91久久久免费一区二区| 国产伦精品一区二区三区在线观看| 亚洲欧美精品午睡沙发| 久久人人爽爽爽人久久久| 欧美在线免费播放| 99久久久久久| 国产真实乱子伦精品视频| 亚洲综合丁香婷婷六月香| 久久精品亚洲精品国产欧美kt∨| 欧美日韩美少妇| 91欧美一区二区| 国产a精品视频| 久久成人精品无人区| 五月天一区二区| 亚洲另类在线视频| 中文成人综合网| 国产三级久久久| 精品国产乱码久久久久久牛牛| 777午夜精品视频在线播放| 91原创在线视频| jlzzjlzz欧美大全| 国产·精品毛片| 国产精品一区二区久久精品爱涩| 免费一级片91| 美国精品在线观看| 轻轻草成人在线| 日韩精品欧美精品| 三级久久三级久久| 日韩av电影免费观看高清完整版| 日韩在线观看一区二区| 香蕉成人啪国产精品视频综合网| 亚洲精品国产品国语在线app| 国产精品午夜免费| 国产精品免费aⅴ片在线观看| 日本一区二区三区久久久久久久久不| 久久精品免费在线观看| 久久久蜜臀国产一区二区| 精品99一区二区三区| 久久色在线观看| 欧美激情在线看| 18涩涩午夜精品.www| 亚洲欧洲av色图| 亚洲一区免费视频| 日本视频一区二区| 国产在线播放一区| 成人免费高清视频在线观看| 91丨国产丨九色丨pron| 欧美日韩午夜精品| 91精品国产色综合久久不卡蜜臀| 欧美一区二区三区不卡| 久久综合999| 亚洲婷婷在线视频| 香港成人在线视频| 国模套图日韩精品一区二区 | 精品中文字幕一区二区小辣椒| 美女高潮久久久| 国产一区二区按摩在线观看| 成人av网在线| 欧美日韩在线免费视频| 337p日本欧洲亚洲大胆色噜噜| 国产日本一区二区| 亚洲午夜精品网| 国产一区二区调教| 色综合视频在线观看| 91精品一区二区三区久久久久久| 久久青草欧美一区二区三区| 中文字幕一区二区视频| 日本成人在线看| 国产91丝袜在线播放0| 欧美午夜精品一区二区蜜桃| 日韩亚洲欧美成人一区| 国产精品福利一区二区三区| 日本人妖一区二区| 色综合一区二区三区| 日韩你懂的电影在线观看| 中文字幕亚洲一区二区av在线| 日韩高清一区在线| 91啪九色porn原创视频在线观看| 日韩欧美在线123| 中文字幕五月欧美| 韩国av一区二区三区四区 | 成人中文字幕合集| 欧美日韩一本到| 国产精品区一区二区三| 日韩二区三区在线观看| 91在线小视频| 久久蜜桃一区二区| 日日噜噜夜夜狠狠视频欧美人| a亚洲天堂av| 精品裸体舞一区二区三区| 亚洲图片欧美综合| 97aⅴ精品视频一二三区| 久久综合精品国产一区二区三区 | 综合久久久久久| 国产成人在线看| 精品久久人人做人人爽| 日韩综合小视频| 欧美日精品一区视频| 国产精品国产三级国产aⅴ原创| 久久91精品久久久久久秒播| 欧美日韩精品欧美日韩精品一 | 欧美一区二区成人6969| 亚洲免费观看高清完整版在线观看| 激情成人综合网| 欧美一区二区三区啪啪| 亚洲va天堂va国产va久| 一本大道久久a久久精品综合| 欧美极品另类videosde| 国产精品一区二区x88av| 精品捆绑美女sm三区| 久久国产成人午夜av影院| 91精品国产综合久久精品麻豆| 一区二区在线观看视频| 在线精品视频免费播放| 亚洲国产欧美另类丝袜| 欧美色视频在线| 午夜激情综合网|