當前位置:成語大全網 - 書法字典 - 用C語言編譯壹個目錄及其子目錄中所有擴展名為TXT的文本文件。

用C語言編譯壹個目錄及其子目錄中所有擴展名為TXT的文本文件。

#包含?“StdAfx.h“

#包含?“FindFile.h“

//這只是壹個測試函數。

//壹般來說,我們遍歷文件是有目的的?用這個寫壹個類似於病毒的東西

虛空?測試(WIN32_FIND_DATA?*fd)

{

MessageBox(0,FD-& gt;cFileName,0,0);

}

布爾?find file(char?*pFileName,?夏爾。*?FindFileType)

{

WIN32_FIND_DATA?FD;

手柄?hFind

夏爾。鍵入【10】= { 0 };

sprintf(類型。%s“,find filetype);

//手柄?hFindType//找到相應的文件類型

夏爾。FileName【260】= { 0 };

sprintf(文件名為“%s\\*。*,pFileName);

zero memory(& amp;fd,sizeof(FD);

if(0?==?strlen(文件名))

{

MessageBox(0,“文件名不能為空”,0,0);

回歸?假的;

}

其他

{

hFind?=?FindFirstFile(文件名& ampFD);

if(無效句柄值==hFind)

{

回歸?假的;

}

其他

{

做什麽?

{

//查找文件名是否匹配?註意給文件後綴加點?因為文件名中的點是壹個特殊符號。

//壹般不能用。但是可以用特殊的方式添加。

//U?這是磁盤免疫的方法嗎?創建壹個無法正常刪除autorun.inf的文件夾?

if(strstr(FD . cfilename,Type))

{

測試(& ampFD);

}

其他

{

//當文檔是文件時,請執行下列操作。

if(FD . dwfile attributes?==?文件屬性目錄)

{

//擺脫它?。?表示當前目錄。和..以前的目錄?這是在dos下嗎?正如您在中看到的

if(strcmp(FD . cfilename,“。)!= 0 & amp& ampstrcmp(FD . cfilename,“。)!=0)

{

夏爾。temp【256】= { 0 };

sprintf(Temp,“%s\\%s“,pFileName,FD . cfilename);

find file(Temp,find file type);

}

}

}

//繼續查找下壹個文件。

}?什麽時候?(FindNextFile(hFind,& ampFD);

}

}

關於