Iterating Over a Directory

From C4 Engine Wiki

Jump to: navigation, search

This iterates, recursively, over a specified directory and creates an array of strings.

Array<String<>>		fileList;	
BuildFileListRecursive("Data/Game",&fileList);
 
 
BuildFileListRecursive(const char * root, Array<String<>>  * fileList){
	List<FileReference>		currentDirFiles;
	TheFileMgr->BuildFileList(root,&currentDirFiles);
 
	for(int i = 0; i < currentDirFiles.GetElementCount(); i++){
		if( currentDirFiles[i]->GetFlags() & kFileDirectory ){
			BuildFileListRecursive(String<>(root) + "/" + currentDirFiles[i]->GetName(),fileList);
		} else {
			String<> filename = String<>(root) + "/" + currentDirFiles[i]->GetName();
			fileList->AddElement(filename);
		}
	}
}
Personal tools