2014-11-03 73 views

回答

0

在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_开始列举的简单方式。如果您还需要查看子目录,那么您应该扩展该方法以递归处理每个子目录,并更改它以便检查所有文件,并在每个文件上测试文件名匹配。

相关问题