vérifier la validité d'un chemin [C++] - Programmation
Marsh Posté le 27-02-2001 à 11:55:01
Pour ça il y a une fonction win32 : PathFileExists
En fait ça fait partie d'un groupe d'une cinquantaine de fonctions sur les chemins.
Faut pas oublier d'inclure Shlwapi.h et Shlwapi.lib dans le projet.
Marsh Posté le 27-02-2001 à 12:03:15
Merci de ta réponse, j'essaye de ce pas. Mais y a t-il une classe MFC qui fait ça ? Ou une ruse avec les méthodes de la classe CFile ?
Marsh Posté le 27-02-2001 à 12:20:12
Je n'ai pas cette librairie et je suis obligé d'utiliser les MFC !
J'ai trouvé une solution qui ne me satisfait pas :
J'essaye de créer un fichier dans le répertoire, s'il me jette c'est que le répertoire est incorrect, sinon je supprime le fichier créé, mais c'est super cradingue !
Marsh Posté le 27-02-2001 à 12:33:36
Surtout que le répertoire peut très bien ne pas exister et que tu n'as pas les droits sur cet espace (WinNT). C'est effectivement une méthode à proscrire.
Marsh Posté le 27-02-2001 à 12:42:44
En attendant, j'ai rien trouvé de mieux, mais je suis ouvert à toutes propositions.
Marsh Posté le 27-02-2001 à 15:13:57
Pour la librairie il suffit de la créer à partir de la dll : Shlwapi.dll qui ce trouve dans le rep system.
Autrement CFile revoies une exception ( du typr CFileException ) si le fichier ne peut pas être créé qui décrit l'erreur de creation.
Remarque :c'est pas le role de la classe CFile de tester la validité d'un chemin, cette classe est prévue pour écrire et lire sur des fichiers.
Enfin les MFC ne permettent pas de tout faire, elle sont simplement là pour simplifier l'utlisation des API Win32 qu'elles utlisent. Donc si tu ne veut utliser que les MFC tu va te trouver très limité.
Marsh Posté le 27-02-2001 à 15:32:49
Ben tu te prends par la main et tu fais ça en C alors. Avec les DIR * et opendir() et readdir().
Marsh Posté le 27-02-2001 à 15:37:14
Je viens de vérifier, pour que cette dll soit présente il faut que soit installé IE4 ou sup sur la machine
Marsh Posté le 28-02-2001 à 11:41:27
Pour la petite histoire, et pour ceux que ça intéresse, je m'en suis sorti plus "proprement" en utilisant GetCurrentDirectory et SetCurrentDirectory.
Voila.
Marsh Posté le 27-02-2001 à 10:49:50
Je souhaiterais vérifier la validité d'un chemin (style "E:\Toto\bin\services" ) avec une classe MFC sous Visual
C++.
Merci