直接上代碼(哪一位有不明白的地方
,請留言):
//#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
//#define _DEBUG_
long read4Bit(ifstream& f);
long read3Bit(ifstream& f);
int readString(ifstream& f, long exeOffset, char *str);
int read2Zero(ifstream& f, char*buf);
int findIPLocation(char*dat, long exeOffset, DWORD searchIpNum);
void printHelp(char* exePath);
DWORD convertIP(char*sip);
void printIpNum(DWORD ip);
int main(int argc, char**argv)...{
char *sip;
char *dat; long offSet;
DWORD intIP;
#if defined _DEBUG_
//for(int i=0;i<argc; i++){
// cout<<"argv["<<i<<"/"<<argc<<"]="<<argv[i]<<" ";
//}
#endif
dat=new char[256];
memset(dat, 0, 256);
if( argc==3 )...{
strcpy(dat, argv[2]);
offSet=0L;
}else...{
delete[]dat;
printHelp(argv[0]);
return 1;
}
sip=new char[16];
memset(sip, 0, 16);
strcpy(sip, argv[1]);
intIP = convertIP(sip);
findIPLocation(dat, offSet, intIP);
delete[]dat; delete[]sip;
return 0;
}
//第一個參數 是數據文件
//第二個參數 是如果合併成一個文件的話,開始的偏移
//第三個參數 是查找的IP的十進制表達
//第四個參數 是返回的結果
int findIPLocation(char*dat, long exeOffset,DWORD searchIpNum) ...{
#if defined _DEBUG_
int times=0; //查找了多少次
#endif
DWORD ipBeginPos, ipEndPos; //開始的偏移,結束的偏移
文章搜索: 名称 全文 文章 首页 IT资讯 开发语言 软件开发 WEB开发 考试认证 数据库 程序人生
编程学院 电子书籍 视频 博客 论文 专题 论坛 C语言 - C++ - C# - .NET - JAVA - VB - DELPHI - 汇编 - 数据结构
您现在的位置:首页--开发语言--C++--C++实例--浏览文章
C++查詢wry.dat中的IP地址信息代码
点击:218 发布日期:2008-3-24 8:54:20 进入论坛
baidu
DWORD midNum, beginNum, endNum, totalNum; //中間的個數,開始的個數,結束的個數,總共的個數
DWORD ip1Num, ip2Num; //開始IP的十進制值,結束IP的十進制值
long pos, iRead; //當前的文件的指針的位置
char *ipAddr; //*ipAddr2, *ipAddr1, *ipAddr;