¡Buenas!
Para crear directorios anidados, si las funciones de
direct.h funcionan igual que aquellas que utilizaba borland 5.x (
dir.h si mal no recuerdo), tienes que partir del directorio base e ir creando los subdirectorios anidados uno por uno:
mkdir(base);
mkdir(base/subdir1);
mkdir(base/subdir1/subdir11);
mkdir(base/subdir1/subdir12);
mkdir(base/subdir2);
...
Por cierto,
direct.h no es estandar. Se que gcc y derivados la incluyen. ¿El resto de compiladores también tienen esa librería? (supongo que clang también la incluira...)
Por lo que acabo de ver entre los headers que trae MinGW están tanto
dir.h como
direct.h y ambas incluyen el header
io.h. Es en este ultimo header donde encontrarás las funciones que te hacen falta para moverte por los directorios.
¡Saludos!