0
我有一些文件的名稱以「a_」開頭,如何列出在Visual C++中以相同關鍵字開頭的所有文件?在目錄中列出同一目錄中的所有文件使用visual C++
我有一些文件的名稱以「a_」開頭,如何列出在Visual C++中以相同關鍵字開頭的所有文件?在目錄中列出同一目錄中的所有文件使用visual C++
在Windows上,您可以使用FindFirstFile/FindNextFile API搜索路徑中的文件。沒有標準的方法來枚舉Visual C++中的文件(或通常在C++中)。但是既然你使用Visual C++,那麼你很有可能爲Windows編程,所以在Windows平臺API中尋找解決問題的方法是很有意義的。
WIN32_FIND_DATA findFileData;
HANDLE hFind;
// find all files that start with a_ in a specific directory
hFind = FindFirstFile("C:\\PATH\\TO\\DIRECTORY\\a_*", &findFileData);
if (hFind != INVALID_HANDLE_VALUE)
{
while(hFind != INVALID_HANDLE_VALUE)
{
if (findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
/* current entry is a directory */
}
else
{
/* file name is findFileData.cFileName */
}
hFind = FindNextFile(hFind, &findFileData);
}
FindClose(hFind);
}
上面的例子是通過在給定的路徑中的所有文件(和子目錄),與a_
開始列舉的簡單方式。如果您還需要查看子目錄,那麼您應該擴展該方法以遞歸處理每個子目錄,並更改它以便檢查所有文件,並在每個文件上測試文件名匹配。