DECOUPAGE CHEMIN FICHIER (FORUM)

Signaler
Messages postés
371
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
23 septembre 2009
-
DeAtHCrAsH
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33171-decoupage-chemin-fichier-forum

DeAtHCrAsH
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
1
Vecchio56> Vi vi en effet.... C'est la remarque que BruNews avait fait plus haut (l'histoire des boucles)
vecchio56
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Une déclaration de ce type pourrait aussi être utile si on a besoin de faire des concaténations par la suite:

char* GetFileDrive(const char* FilePath, char *tFileDrive)
{
while(*FilePath !'\\') *tFileDrive++ *FilePath++;
*tFileDrive = 0;
return tFileDrive;
}
vecchio56
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
A chaque fois tu fais deux boucles la ou tu pourrais n'en faire qu'une seule:
une boucle sur i puis une avec strncat/strcpy
Par exemple GetFileDrive pourrait devenir:
int GetFileDrive(const char* FilePath, char *tFileDrive)
{
while(*FilePath !'\\') *tFileDrive++ *FilePath++;
*tFileDrive = 0;
return 0;
}

C'est peut être plus dificile a saisir pour un débutant il est vrai.
Le premier param devrait être de type const char* au lieu de char[MAX_PATH] car on doit pouvoir mettre une chaine la taille qu'on veut
cs_ledruid
Messages postés
15
Date d'inscription
mardi 21 juin 2005
Statut
Membre
Dernière intervention
27 avril 2006

Je confirme, c'est suite à ma demande sur le forum que il y à eu la gentillesse de me donner un coup de main, et effectivement je suis sur un projet en c++ avec quelques contraintes ( mais je suis un vrai débutant .. lol).

Et effectivement le but n'est pas de le copier tel quel, mais plutot de m'en servir pour "apprendre".
vecchio56
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Ton code est destiné à Windows apparemment; sous VC++ on peut aussi utiliser _splitpath