Una volta che hai un albero che rappresenta la struttura di directories e files è semplicissimo generare quello che vuoi...
Secondo me è una complicazione inutile volerlo fare in C, non conosci un linguaggio tipo python, ruby, lua... ? O un linguaggio della piattaforma .NET?