Per spostare MoveFileEx, per copiare un singolo file CopyFile, per copiare un'intera gerarchia di directory o usi una funzione ricorsiva abbinata a FindFirstFile/FindNextFile e CopyFile, oppure puoi usare direttamente la SHFileOperation.
Se invece vuoi rimanere multipiattaforma puoi usare la libreria Boost.Filesystem (che tra l'altro probabilmente sarà inclusa nel prossimo standard C++).
---EDIT---
Vedo che in Boost.Filesystem non è già incluso un metodo per copiare intere directory, per cui anche lì bisognerebbe implementare una funzione ricorsiva che faccia questo mestiere.