Bonjour,

ayant besoin de recuperer les lecteurs "actifs" sous windows, j'ai récupéré ce code sur le net.
Il fonctionne.

Cependant je souhaiterais aussi le comprendre (afin de re-utiliser ou modifier).

J'ai mis les commentaires qui me semblais juste mais je ne comprends pas vraiment la globalité. Comment fonctionne cette boucle ?

Si quelqu'un peut eclairer un peu ma lanterne...j'en serais ravi.

Merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
char szBuffer[1024]; 						//initialisation de la taille du buffer (Nb de caracteres = 2 octets par caracteres)
GetLogicalDriveStrings(1024, szBuffer);		//appel de l'API windows (taille du Buffer,variable recevant les données)
char *pch = szBuffer;						//definition du pointeur pour acceder aux éléments du tableau
while (*pch) {  							//tant que....???
printf("%s\n", pch);						//affiche la valeur de PCH convertion type char (chaine)
pch = &pch[strlen(pch) + 1];				//nouvelle valeur PCH (prend la valeur du contnu du pointeur PCH ) = longueur de chaine PCH+1 a chaque boucle
}