Existe-t-il un moyen "intégré" d'accéder au lecteur parent "relativement" sous Windows?Accédez au lecteur parent "relativement" sous Windows
-à-dire, au lieu de mon programme stockant un chemin comme K:\1\2\3
(K: \ étant un lecteur flash USB), je voudrais pour stocker le chemin sans la lettre de lecteur, de cette façon si la lettre de lecteur arrive à changer dans le futur, le chemin stocké restera valide car dynamique.
Je sais que je peux remplacer manuellement la lettre du lecteur avec quelque chose comme éclair: \ avant d'enregistrer le chemin, puis avant d'accéder au chemin mémorisé, remplacer éclair: \ avec la lettre du lecteur que mon programme est en cours d'exécution, mais je voulais savoir s'il y avait une façon "intégrée" de le faire, où je pouvais simplement passer une certaine chaîne à Windows à la place de la lettre de lecteur et Windows le remplacerait automatiquement par la lettre de lecteur le programme en cours est en cours d'exécution.
D'oh! J'ai essayé cela avant de demander ici, et ça n'a pas marché. Raison que cela n'a pas fonctionné: SHGetFileInfo() n'aime pas ce type de chemin, pour une raison quelconque. Fonctionne très bien avec fopen(), cependant, que je ne pensais pas essayer. Merci! – user399585
Cela peut générer des problèmes: le volume auquel un répertoire relatif peut être appliqué n'est pas nécessairement le volume sur lequel se trouve l'exécutable du programme (en d'autres termes, le répertoire courant auquel ce chemin peut être appliqué peut se trouver sur un autre lecteur que l'image du programme). –
@Michael Burr: Merci, alors peut-être que je devrais remplacer le premier \ avec la lettre de lecteur utilisée dans argv [0] (le chemin du programme exécutable)? – user399585