Note that this project is more included as an example of what can be done because much of it is being done already. See here.
A platform-independent recursive file-system enumeration library, written in C++ (using contemporary STL-extension techniques) and presenting a C-API, along with mappings to a host of other languages and technologies: C++ (simple classes), C++ (STL sequences), C#/.NET, COM, D, Java, Python, Perl & Ruby
Major program elements that solutions may re-enforce: STL mapping and use techniques, porting, platform-independence, working with different enumeration models, integrating with other languages.