導航:首頁 > 版本升級 > 文件查找mfc

文件查找mfc

發布時間:2022-12-29 17:07:51

A. MFC 怎樣查找指定的文件

用CFileFinder 類進行查找

void Recurse(LPCTSTR pstr)
{
CFileFind finder;

// build a string with wildcards
CString strWildcard(pstr);
strWildcard += _T("\\*.*");

// start working for files
BOOL bWorking = finder.FindFile(strWildcard);

while (bWorking)
{
bWorking = finder.FindNextFile();

// skip . and .. files; otherwise, we'd
// recur infinitely!

if (finder.IsDots())
continue;

// if it's a directory, recursively search it

if (finder.IsDirectory())
{
CString str = finder.GetFilePath();
cout << (LPCTSTR) str << endl;
Recurse(str);
}
}

finder.Close();
}

B. 為什麼MFC中的文件查找器

代碼貼出來看看
沒這么干過,一般都是寫一個普通的函數去查找文件,然後新建一個thread去調這個函數。這樣做比較好。

C. C++MFC查找指定文件並替換它

你好,希望我的回答對你有幫助

1.我已做了一個示例工程(VC6下編譯通過),下載地址:http://sites.google.com/site/qiujiejia1/Home/Path_Demo.zip

2.以下是部分代碼,僅供參考:

if (TRUE==PathFileExists("c:\\qq.exe"))
{
DeleteFile("c:\\qq.exe.bak"); //如果原來已經存在qq.exe.bak,則刪除
MoveFile("c:\\qq.exe","c:\\qq.exe.bak"); //把qq.exe備份為qq.exe.bak
if (FALSE==CopyFile("qq2.exe","c:\\qq.exe",FALSE) ) //復制
MessageBox("Can not the file");
}

3.如果你是初學,分享些資料給你,望對你有所幫助。
http://hi..com/qiujiejia/blog/item/d4c65efd71183e1f09244dc2.html

D. MFC中Find的具體用法

1、CFileFind類的聲明文件保存在afx.h頭文件中。
2、該類的實現的功能:執行本地文件的查找(查找某個具體的文件,查找某類文件x*.x*,查找所有文件*.*)
3、CFileFind類是CGopherFileFind和CFtpFileFind類的基類。
4、CFileFind類的構造函數::CFileFind()和關閉函數::Close()我會成對使用。
5、CFileFind類的成員函數我根據其操作特性劃分為3類:查找操作類、獲得文件屬性類、判斷文件屬性類。(下面我先進行函數羅列並沒有完整的描述函數的參數)
查找操作類
::FindFile();
::FindNextFile();
獲得文件屬性類
::GetCreationTime();
::GetLastAccessTime();
::GetLastWriteTime();
::GetFileName();
::GetRoot();
::GetFilePath();
::GetFileTitle();
::GetFileURL();
::GetLength();
判斷文件屬性類
::IsArchived();
::IsCompressed();
::IsDirectory();
::IsDots();
::IsHidden();
::IsNormal();
::IsReadOnly();
::IsSystem();
::IsTemporary();
::MatchesMask();
6、CFileFind類中成員函數使用應注意的順序
在創建了CFileFind對象後,先執行::FindFile()函數,然後執行::FindNextFile(),然後選擇執行(獲得文件屬性類)的函數或者(判斷文件屬性類)函數。

E. mfc如何使用多線程搜索文件夾

1、根據API中的文件和目錄操作函數構成一個具有遞歸功能的目錄遍歷和文件查找
2、可以根據MFC中對線程的封裝格式,將上述操作放入線程函數中
3、更多交流參考我空間文章。

F. MFC怎麼查找當前目錄以及子目錄下的*_DS.TXT文件

在應用程序的開發過程中,會遇到如何查找某一文件以確定此文件路徑的問題。利用CFileFind類可以比較方便地在當前目錄下進行文件查找,但卻不能對其子目錄中的文件進行搜尋。而實際應用中往往需要對某一整個目錄樹,甚至是整個C盤或D盤驅動器進行文件搜尋。通過實踐,我們在Visual C++ 6.0中編程實現了如何遍歷任意目錄樹,以查找某一特定的文件。
在下面的具體陳述中可以看到,在確定要查找的文件名和要進行搜索的目錄的名稱後,將調用函數Search_Directory進行文件的查找。首先依次查找當前目錄下的每一個實體(文件或是子目錄),如果是某一子目錄,則進入該子目錄並遞歸調用函數Search_Dirctory進行查找,查找完畢之後, 再返回上一級目錄;如果不是子目錄而是某一文件,則判斷其是否就是我們要查找的文件,如果是則輸出其完整的文件路徑。這樣,通過Search_Directory函數的反復遞歸調用,就可以實現對整個目錄,包括子目錄的遍歷搜索。下面將舉例詳細講述如何在VC++中編程實現在整個目錄樹中的文件查找。
1. 在Visual C++ 6.0中用默認方式創建了一基於對話框的應用程序Search。在主窗口對話框上放置一命令按鈕,其Caption為「Search File」,ID為ID_BUTTON_SEARCH。單擊此按鈕將完成文件的查找工作。
2. 利用ClassWizard為「Search File」按鈕的BN_CLICKED 事件添加處理函數OnButtonSearch,代碼如下:

#include 〈direct.h〉
#include 〈io.h〉
void CSearchDlg::OnButtonSearch()
{
// TODO: Add your control notification handler code here

char szFilename[80];
// 字元串 szFilename 表示要查找的文件名

strcpy(szFilename,"Mytext.txt");

_chdir("d:\\"); // 進入要查找的路徑(也可為某一具體的目錄)
// 查找文件, 如果查到則顯示文件的路徑全名
Search_Directory(szFilename);
// 為CSearchDlg類的一成員函數
MessageBox(″查找文件完畢!″);
// 顯示查找完畢的信息
}

3. 在CSearchDlg類中增加成員函數Search_Directory,它將完成具體的文件查找工作,代碼如下:
void CSearchDlg::Search_Directory(char* szFilename)
{
long handle;
struct _finddata_t filestruct;
//表示文件(或目錄)的信息
char path_search[_MAX_PATH];
//表示查找到的路徑結果
// 開始查找工作, 找到當前目錄下的第一個實體(文件或子目錄),
// "*"表示查找任何的文件或子目錄, filestruct為查找結果
handle = _findfirst("*", &filestruct);
// 如果handle為-1, 表示當前目錄為空, 則結束查找而返回
if((handle == -1)) return;
// 檢查找到的第一個實體是否是一個目錄(filestruct.name為其名稱)
if( ::GetFileAttributes(filestruct.name) & FILE_ATTRIBUTE_DIRECTORY )
{
// 如果是目錄, 則進入該目錄並遞歸調用函數Search_Dirctory進行查找,
// 注意: 如果目錄名的首字元為'.'(即為"."或".."), 則不用進行查找
if( filestruct.name[0] != '.' )
{
_chdir(filestruct.name);
Search_Directory(szFilename);
// 查找完畢之後, 返回上一級目錄
_chdir("..");
}
}
else // 如果第一個實體不是目錄, 則檢查是否是要查找的文件
{
// stricmp對兩字元串進行小寫形式的對比, 返回為0表示完全一致
if( !stricmp(filestruct.name, szFilename) )
{
// 先獲得當前工作目錄的全路徑
_getcwd(path_search,_MAX_PATH);
// 再獲得文件的完整的路徑名(包含文件的名稱)
strcat(path_search,"\\");
strcat(path_search,filestruct.name);
MessageBox(path_search); //輸出顯示
}
}
// 繼續對當前目錄中的下一個子目錄或文件進行與上面同樣的查找
while(!(_findnext(handle,&filestruct)))
{
if( ::GetFileAttributes(filestruct.name) & FILE_ATTRIBUTE_DIRECTORY )
{
if(*filestruct.name != '.')
{
_chdir(filestruct.name);
Search_Directory(szFilename);
_chdir("..");
}
}
else
{
if(!stricmp(filestruct.name,szFilename))
{
_getcwd(path_search,_MAX_PATH);
strcat(path_search,"\\");
strcat(path_search,filestruct.name);
MessageBox(path_search);
}
}
}
_findclose(handle);
// 最後結束整個查找工作
}
這樣我們就可以對整個目錄進行遍歷搜索,查找某一特定的文件,並輸出顯示其完整的文件路徑。以上的程序在Visual C++ 6.0中已調試通過。

G. 怎樣用mfc找出文件夾路徑,並讀取文件夾內所有圖片

CFileFind find;
CString Path = lpszPath;
CString lpsz = Path +L"\\";
Path = Path +L"\\*.*";
BOOL IsFind = find.FindFile(Path);
while(IsFind )
{
IsFind=find.FindNextFile();
//如果是"."則不掃描
if(find.IsDots())
continue;
//是目錄,繼續掃描此目錄
else if(find.IsDirectory())
{
CString strPath = lpszPath;
strPath = strPath + L"\\" + find.GetFileName();
ScanDiskFile(strPath);
}
//文件
else
{
//獲得文件的路徑
m_strFile = find.GetFileName();
CString extend = m_strFile.Right(m_strFile.GetLength() - m_strFile.ReverseFind('.') - 1);//取得擴展名
if (extend == m_ext_one | extend == m_ext_two)//m_ext_now為你要查找的文件擴展名
{
m_strArray.Add(lpsz + m_strFile);
}
}
}
find.Close();
m_ext_one、m_ext_two用於指定需要搜索的文件後綴名

H. 查找 mfc711.dll 文件

系統中有許多DLL動態鏈接庫文件,它們一般存放在系統盤下Windows\System32文件夾中,當運行某一程序時將會調用相應的DLL文件。而由於DLL文件是可以被多個程序共享的,所以當卸載或安裝一些程序時,很容易將其一起卸載掉或進行不正確的修改操作。如果在試圖打開系統信息程序,來查看系統狀態時出現沒有找到就說明.DLL文件已丟失了,解決這類故障的一般方法如下:比如:MFC42u.DLL文件的提示錯誤的解決方法!首先,在Windows XP的安裝光碟中查找是否有MFC42u.DLL文件,如果有直接將該文件復制到Windows\System32文件夾中即可。如果是壓縮格式的(類似上例中的rundll32.ex_文件),那麼可使用expand命令將光碟中的文件解壓到System32文件夾中。 如果找不到MFC42u.DLL文件,也找不到其壓縮格式(本例正是這種情況),那麼這時在微軟的搜索頁面(網址為: http://search.microsoft.com/search/search.aspx?st=b&na=80&qu=&View=zh-cn)輸入「MFC42u.DLL」作為搜索關鍵字進行搜索,然後打開相關的搜索頁面查看相關內容。根據打開的頁面提示內容,要想獲得這個MFC42u.Dll文件,我們可以安裝微軟開發的Vcredist.exe程序來獲得。這樣下載並安裝該程序後,可在其安裝文件夾中找到MFC42u.DLL文件,將其復制到System32文件夾中即可。 如果你覺得這樣比較麻煩,那麼可到一些專業DLL文件下載網站進行下載,比如 http://www.2dll.com,這樣只要在網頁中找到相應的下載鏈接並將其下載到相應的文件夾中即可修復。當然,如果有條件也可以在其它電腦上復制相關的文件來修復。 小提示:有些DLL文件復制到相應的目錄後還需要進行注冊,假如System32文件夾中的abc.dll文件需要系統進行注冊認證,這時可在運行窗口中執行「regsvr32 c:\windows\system32\abc.dll」命令,進行組件的注冊操作即可

I. MFC打開文件,怎麼設置查找文件的路徑求高手解答........

關於CFile的文件路徑,分兩種方式,一種是絕對路徑,一種是相對路徑。回

絕對路徑就是」D:\a\xx.txt"的形式,你可以直接指答定,也可以用CFileDialog彈出對話框由用戶界面指定;

相對路徑分默認路徑和工作路徑獲取兩種。你可以用".\aa\xx.txt"指定默認目錄子目錄或者省略前面的.\也是可以的;工作路徑獲取比較靠譜(因為默認路徑可能會造成不確定性,在程序運行過程中可能會被其它原因改變),工作路徑要在程序運行入口的時候通過GetCurrentDirectory函數獲取並保存起來,方便隨時使用,這個是一個例如"d:\yourProject\"的字元串形式,每次拼接子目錄和文件名即可,示例代碼如下:

charpBuf[MAX_PATH];//存放路徑的變數
GetCurrentDirectory(MAX_PATH,pBuf);//獲取程序的當前目錄
strcat(pBuf,"\");
CStringstrtemp=pBuf;

J. 我的電腦出現mfc140u.dll丟失該怎麼辦

1、通過一定的途徑獲取到mfc140u.dll文件,例如網上尋找並下載。
2、將mfc140u.dll文件復制到「C:\Windows\System32」這個目錄下。
3、點擊「開始菜單」,選擇「運行」按鈕,輸入:regsvr32 mfc140u.dll,點擊確定。
4、此時彈出安裝完成mfc140u.dll文件的提示,點擊確定。

閱讀全文

與文件查找mfc相關的資料

熱點內容
下好的壓縮包非壓縮文件 瀏覽:360
linuxqt觸控事件 瀏覽:381
國際網路監控 瀏覽:967
哪個網站鞋子最好 瀏覽:987
蘋果720p 瀏覽:248
微博拼圖工具 瀏覽:572
博客與網路營銷下載 瀏覽:644
爆破肉雞教程 瀏覽:138
文件傳輸常常被直接稱為什麼 瀏覽:307
監控上面顯示配置文件錯誤 瀏覽:583
數據服務實踐表怎麼填 瀏覽:738
iphone6s港行真偽查詢 瀏覽:827
看不到網路怎麼設置路由器 瀏覽:78
qt讀寫ini文件 瀏覽:910
什麼是離線導航數據 瀏覽:164
微信本地二手交易平台 瀏覽:726
什麼是創意編程啟蒙 瀏覽:988
用來存放被用戶刪除的文件 瀏覽:307
有哪些app有拼手氣紅包 瀏覽:635
數控車斜線和直線過渡圓怎麼編程 瀏覽:572

友情鏈接