91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 561KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-07
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: 數(shù)據(jù)采集??

資源簡(jiǎn)介

C++ 數(shù)據(jù)采集C++ 數(shù)據(jù)采集C++ 數(shù)據(jù)采集C++ 數(shù)據(jù)采集C++ 數(shù)據(jù)采集C++ 數(shù)據(jù)采集C++ 數(shù)據(jù)采集C++ 數(shù)據(jù)采集

資源截圖

代碼片段和文件信息

#include?“l(fā)ogreader.h“
#include?“dmsexception.h“
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include
#include//bzero使用
#include
#include
//構(gòu)造函數(shù)
LogReader::LogReader()
{
char?file[]=“l(fā)ogins.dat“;
bzero(loginsfile255);//memset()?
memcpy(loginsfilefilestrlen(file));
}
//日志讀取的主函數(shù)
void?LogReader::readLogs(list?*logs)
{

char?backfile[255];
bzero(backfile255);
try{
backup(backfile);
list?logins;
cout<<“讀取上次剩余登入記錄......“< readLogins(&logins);
cout<<“上次剩余數(shù):“< list?logouts;
cout<<“讀取系統(tǒng)日志......“< readLogFile(backfile&logins&logouts);
cout<<“登入記錄數(shù):“< cout<<“匹配登入/登出數(shù)據(jù)中......“< match(&logins&logoutslogs);
cout<<“匹配剩余登入記錄數(shù):“<size()< cout<<“保存剩余登入數(shù)據(jù)......“< saveLogins(&logins);
}
catch(DMSException?e)
{
throw;
}
}
//設(shè)置采集的日志文件
void?LogReader::setLogfile(char?*file)
{
memcpy(logfilefilestrlen(file));
}
//剩余登入記錄的保存文件名
void?LogReader::setLoginsfile(char?*file)
{
memcpy(loginsfilefilestrlen(file));
}
//備份日志文件
void?LogReader::backup(char*backfile)
{
//備份文件名?dmsyyyymmdd
//得到系統(tǒng)時(shí)間
time_t?t=time(NULL);?
struct?tm*?st=localtime(&t);
sprintf(backfile“dms%04d%02d%02d%02d%02d“st->tm_year+1900st->tm_mon+1st->tm_mdayst->tm_hourst->tm_min);
string?backcmd(“./backup.sh?“);
backcmd+=“?wtmpx?“;
backcmd+=backfile;
backcmd+=“??2>/dev/null“;
int?re=system(backcmd.data());
if(re!=0)
{
throw??DMSException(“備份指令錯(cuò)誤!“);?
}
}
//讀取上次匹配剩余的登入記錄
void?LogReader::readLogins(list?*logins)
{
//打開剩余的登入記錄文件。
int?fd=open(loginsfileO_RDONLY|O_EXCL);
if(fd==-1)
{
//文件不存在等原因
return;//不做任何處理
}
while(1)//循環(huán)讀取記錄
{
logrec?log;
int?re=read(fd&logsizeof(log));
if(re<=0)
{
//0?表示讀取完畢?其他表示異常
close(fd);
return;//結(jié)束處理
}
logins->push_back(log);
}
}
//讀取日志文件
void?LogReader::readLogFile(char*backfilelist*loginslist*logouts)
{
int?fd=open(backfileO_RDONLY|O_EXCL);
if(fd==-1)
{
throw??DMSException(“打開文件錯(cuò)誤!“);?
}
while(1)
{
logrec?logs={};
short?type;
bzero(logs.logname32);
int?re=read(fdlogs.logname32);
if(re<=0)//根據(jù)條件跳出循環(huán)?
{
break;
}

lseek(fd36SEEK_CUR);
re=read(fd&logs.pidsizeof(pid_t));
logs.pid=ntohl(logs.pid);

re=read(fd&type2);

//處理字節(jié)序
/*由于我們實(shí)驗(yàn)下的系統(tǒng)是Linux,
實(shí)際的日志文件是Unix,采用不同的字節(jié)序所以作一個(gè)轉(zhuǎn)換*/
type=ntohs(type);

lseek(fd6SEEK_CUR);
re=read(fd&logs.logtime4);
logs.logtime=ntohl(logs.logtime);

lseek(fd28SEEK_CUR);
short?size;
re=read(fd&size2);
size=ntohs(size);
bzero(logs.logip257);
re=read(fdlogs.logip257);
logs.logip[size]=0;
if(logs.logname[0]!=‘.‘)
{

if(type==7)
{
/*
cout< cout<

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件????????114??2009-06-05?09:20??C++?數(shù)據(jù)采集\client\backup.sh

?????文件????????286??2011-05-18?01:29??C++?數(shù)據(jù)采集\client\data.h

?????文件??????41977??2011-06-15?13:35??C++?數(shù)據(jù)采集\client\dms

?????文件????????223??2009-06-05?09:20??C++?數(shù)據(jù)采集\client\dmsexception.h

?????文件??????17100??2011-06-15?13:37??C++?數(shù)據(jù)采集\client\logins.dat

?????文件???????4774??2011-07-14?11:41??C++?數(shù)據(jù)采集\client\logreader.cpp

?????文件????????710??2011-07-14?10:42??C++?數(shù)據(jù)采集\client\logreader.h

?????文件???????2949??2011-07-14?11:26??C++?數(shù)據(jù)采集\client\logsender.cpp

?????文件????????756??2011-07-14?10:55??C++?數(shù)據(jù)采集\client\logsender.h

?????文件????????907??2009-06-05?09:20??C++?數(shù)據(jù)采集\client\main.cpp

?????文件????????202??2011-05-18?01:22??C++?數(shù)據(jù)采集\client\Makefile

?????文件???12477996??2009-06-05?09:20??C++?數(shù)據(jù)采集\client\wtmpx

?????文件??????27136??2010-12-03?16:03??C++?數(shù)據(jù)采集\dmsserver.doc

?????文件???????1234??2011-06-15?13:34??C++?數(shù)據(jù)采集\server\clientaccepter.cpp

?????文件????????332??2009-06-05?09:20??C++?數(shù)據(jù)采集\server\clientaccepter.h

?????文件???????1907??2009-06-05?09:20??C++?數(shù)據(jù)采集\server\clientrecver.cpp

?????文件????????610??2009-06-05?09:20??C++?數(shù)據(jù)采集\server\clientrecver.h

?????文件????????349??2009-06-05?09:20??C++?數(shù)據(jù)采集\server\data.h

?????文件????????218??2009-06-05?09:20??C++?數(shù)據(jù)采集\server\dmsdao.cpp

?????文件????????131??2009-06-05?09:20??C++?數(shù)據(jù)采集\server\dmsdao.h

?????文件????????244??2009-06-05?09:20??C++?數(shù)據(jù)采集\server\dmsexception.h

?????文件??????20056??2011-06-15?13:36??C++?數(shù)據(jù)采集\server\dmsserver

?????文件???????1309??2011-06-15?13:36??C++?數(shù)據(jù)采集\server\dmsserver.cpp

?????文件????????296??2009-06-05?09:20??C++?數(shù)據(jù)采集\server\dmsserver.h

?????文件????????115??2009-06-05?09:20??C++?數(shù)據(jù)采集\server\idao.h

?????文件????????278??2009-06-05?09:20??C++?數(shù)據(jù)采集\server\Makefile

?????文件?????109835??2011-06-22?13:35??C++?數(shù)據(jù)采集\wtmpx.jpg

?????文件??????41472??2010-07-06?16:27??C++?數(shù)據(jù)采集\項(xiàng)目文檔.doc

?????目錄??????????0??2012-07-03?23:04??C++?數(shù)據(jù)采集\client

?????目錄??????????0??2012-07-03?23:04??C++?數(shù)據(jù)采集\server

............此處省略4個(gè)文件信息

評(píng)論

共有 條評(píng)論

相關(guān)資源