我實在想不出哪問題?? |
答題得分者是:brook
|
csm825050
一般會員 發表:49 回覆:29 積分:15 註冊:2003-08-20 發送簡訊給我 |
bool __fastcall TFormMain::check_ip_packet(char *buff,AnsiString s_mac)
{
PIP4_HEAD iphead;
AnsiString str,str1;
TListItem *newitem; iphead=(PIP4_HEAD)buff;
buff =(iphead->ip_ver&0x0f)*4;
switch(iphead->ip_proto)
{
case IP_PROTO_TCP:
PTCP_HEAD tcphead=(PTCP_HEAD)buff;
buff =sizeof(TCP_HEAD);
switch(tcphead->tcp_dest)
{
case TCPPORT_HTTP:
str.printf("%c%c%c",buff[0],buff[1],buff[2]);
if(str=="GET")
{
int addnew=true;
int count=ListView2->Items->Count;
int site,i; while(1)
{
while(buff[0]!=0x0d)
buff ;
buff =2;
str.printf("%c%c%c%c",buff[0],buff[1],buff[2],buff[3]);
if(str=="Host")
break;
str1.printf("%s%c%c%c",str,buff[4],buff[5],buff[6]);
if(str1=="Referer")
{
i=9;
while(buff[i]!=0x0d)
{
if(i==9)
str.printf("%c",buff[i]);
else
str.printf("%s%c",str1,buff[i]);
str1=str;
i ;
}
if(count)
{
for(i=1;i<=count;i )
{
site=count-i; //特別是這一行,會讓程式停掉
if(s_mac==ListView2->Items->Item[site]->Caption)
{
if(str==ListView2->Items->Item[site]->SubItems->Strings[2])
addnew=false;
break;
}
}
}
if(addnew)
{
newitem = FormMain->ListView2->Items->Add();
newitem->Caption=s_mac;
newitem->SubItems->Add(Now());
newitem->SubItems->Add(str);
}
break;
}
}
}
break;
}
break;
}
return false;
} 我有試過site=i;
這樣就沒問題
我判斷字串想從下到上
所以我把site=count-i;
可是這樣就會出問題
|
brook
資深會員 發表:57 回覆:323 積分:371 註冊:2002-07-12 發送簡訊給我 |
|
csm825050
一般會員 發表:49 回覆:29 積分:15 註冊:2003-08-20 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |