Il arrive qu'on souhaite lister le contenu d'un répertoire sous Microsoft Windows. Ce système d'exploitation offre une interface de type client/ serveur pas si mal pour y arriver.
Nous aurons recours à quelques fichiers d'en-tête usuels. Nous utiliserons les flux et les chaînes dans leur forme basée sur des caractères étendus, du fait que depuis Visual Studio 2005 la macro UNICODE est définie par défaut et fait en sorte que les versions à caractères étendus des fonctions de l'API Win32 sont celles qui seront invoquées. |
|
Nous serons préoccupés par les fichiers et les répertoires. Une simple énumération fera le travail. |
|
Notre fonction retournera une liste de paires faites d'un nom et d'une catégorie. Les exceptions possibles correspondent aux cas d'erreurs soulignés par les fonctions de l'API de la plateforme. |
|
Le programme principal sera tout simple : il obtiendra puis affichera la liste des éléments du répertoire courant. |
|
Une petite fonction retournera le nom du répertoire courant. Les macros MAX_PATH et ERROR_INSUFFICIENT_BUFFER proviennent de <windows.h>. Voir aussi les fonctions SetCurrentDirectory(), pour changer de répertoire, de même que CreateDirectory() et RemoveDirectory() pour créer et supprimer un répertoire. |
|
La fonction retournant la liste des éléments du répertoire obtiendra ces éléments un par un. Les fonctions importantes sont indiquées en caractères gras. |
|
Pas plus compliqué que ça.