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

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

#包含?" StdAfx.h "

#包含?" FindFile.h "

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

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

作廢?測試(WIN32_FIND_DATA?*fd)

{

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

}

布爾?FindFile(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));

如果(0?==?strlen(文件名))

{

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

回歸?假的;

}

其他

{

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

if(INVALID_HANDLE_VALUE==hFind)

{

回歸?假的;

}

其他

{

做什麽?

{

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

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

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

if(strstr str(FD . cfilename,Type))

{

測試(& ampFD);

}

其他

{

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

if(fd.dwFileAttributes?==?文件_屬性_目錄)

{

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

if(strcmp(fd.cFileName," ")!= 0 & amp& ampstrcmp(fd.cFileName," ")!=0)

{

夏爾?temp[256]= { 0 };

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

FindFile(Temp,FindFileType);

}

}

}

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

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

}

}

關於