[C++] vérifier la validité d'un chemin

vérifier la validité d'un chemin [C++] - Programmation

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

Reply

Marsh Posté le 27-02-2001 à 10:49:50   

Reply

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.

Reply

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 ?

Reply

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 !

Reply

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.


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Marsh Posté le 27-02-2001 à 12:42:44    

En attendant, j'ai rien trouvé de mieux, mais je suis ouvert à toutes propositions.

Reply

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é.

Reply

Marsh Posté le 27-02-2001 à 15:22:01    

je n'ai pas de Shlwapi.dll sur mon poste.

Reply

Marsh Posté le 27-02-2001 à 15:31:38    

Tu as quoi comme version de Visual ?

Reply

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().


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Marsh Posté le 27-02-2001 à 15:32:49   

Reply

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

Reply

Marsh Posté le 27-02-2001 à 15:41:47    

J'ai :
Win NT 4.0,
IE5,
Visual 5.

Reply

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed