數據恢復軟件(三):浴室追兇(代碼講解版)

浴室追兇

序:網友看了我的程序很迷惑,讓我寫個說明。幫忙寫的學習程序還要給講解,做好人可真難。俗話說好人做到底,送佛送到西,百忙中還是寫了一個故事加以形象說明。


話說我是一名刑警,剛從警校畢業,工作經驗還不足。突然一天接到報警電話有人被殺,故事由此開始了 。

int main(int argc, char* argv[]

經過現場勘察發現是團伙作案,通過監控顯示大概知道了罪犯的相貌,進過細緻的分析,我總結了罪犯的基本材料:

struct BMPHEADER{
    WORD ND;
    WORD TYPE;
    int size;
    WORD r1;
    WORD r2;
}bh;

通過線人的舉報,這幾個罪犯正在洗浴中心泡澡。憑藉直覺我知道這個是最佳的抓捕機會,於是我帶上手銬、槍、警犬、逮捕證,這一次一定將罪犯一網打盡。

HANDLE f,fout;
DWORD Num;
int filesize;
char fname[20];

來到洗浴中心門口,發現門竟然鎖上了。再看這門可真厚呀,不用特殊的方法是無法打開的。我知道這是對我的一個考驗,如果打不開門就表示抓捕失敗。憑藉警校學習的知識,我知道應該在門口設置警戒,不讓人隨便出入,然後我拿出萬能鑰匙,只使用普通的方法,就打開了把鎖,雖然門厚,但打開的感覺真的是太輕鬆了。

f=::CreateFile("img",GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    if(f==INVALID_HANDLE_VALUE){return 0;}

我一腳踹開大門,只見裏面霧氣繚繞,看也看不清楚,隱隱約約感覺一個個赤身裸體的人影在晃動,正如我想象的一樣,這裏有男有女,有胖有瘦,有高有矮,還有幾條狗在哪裏咬架,我也不管它們是倭狗還是美分狗還是五毛狗,我也不管它們會不會咬我。我氣運丹田,大吼一聲“我是警察,都不許動”。看到有人進來這些人驚慌失措,突然有人大喊一聲“快捂住”,衆人突然醒悟,但身上要緊部位有三處,手忙腳亂捂不過來。這時又有大喊:“捂臉就行,下面都一樣!” 我暗暗好笑,我知道我已經控制住了局面。憑藉經驗,我知道我不能漏掉一個罪犯,首先清點人數。

filesize=::GetFileSize(f,NULL);

我首先走到離我最近的一個人,然後一個一個進行搜捕。

for (int i=0;i<filesize;i+=512)

我首先抓住了他的頭髮,雖然有點暴利執法,但我也顧不了太多。    

::SetFilePointer(f,i,NULL,FILE_BEGIN);

然後我托起他的臉,對他的面容進行精確掃描。  

::ReadFile(f,&(bh.TYPE),10,&Num,NULL);

跟我的罪犯資料進行對比。  

if(bh.TYPE==MAKEWORD('B','M')&&bh.r1==0&&bh.r2==0)

今天運氣真的是太好了,第一個就抓到了罪犯。我以迅雷不及掩耳盜鈴而響叮噹之勢,再次抓出了他的頭髮,讓他在也不能逃脫。

::SetFilePointer(f,i,NULL,FILE_BEGIN);

我拿來我事先已經準備好的牢籠,這個牢籠是我爲這個罪犯量身定做的,大小跟罪犯的身高一樣大。

char *dout=new char[bh.size];

我對罪犯宣讀了逮捕令“你有權保持沉默。如果你不保持沉默,那麼你所說的一切將成爲呈堂證供。”一腳將罪犯踹進牢籠裏,我對自己的工作非常滿意,這個牢籠製作對他真是最合適不過了。

::ReadFile(f,dout,bh.size,&Num,NULL);

我給這個罪犯製作了一個標籤,既然是第一個抓住得到,那就叫做NO.0吧,我們的資源是非常有限的,計數都是從0開始,來表現我的工作態度。

sprintf(fname,"%d.bmp",i);

我給上司打了電話,通報了逮捕情況,並向監獄預定了一個牢房。

fout=::CreateFile(fname,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE

把罪犯送去牢房。,這個罪犯就可以在哪裏度過他的餘生了。

::WriteFile(fout,dout,bh.size,&Num,NULL);

現在罪犯的位置被清理了,開始抓捕第二名罪犯。

delete [] dout;
CloseHandle(fout);
i=((i+bh.size)/512)*512;

全部的抓捕都非常順利,全部的罪犯都被抓住了。關上洗浴中心厚厚的大門,打道回府。


CloseHandle(f);
 return 0;

結尾:這次任務終於勝利完成了,雖然沒有得到上司的獎勵,但也增加了工作經驗。以後的工作會更輕鬆的完成。          


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章