EXTRAIRE LE NOM D'UN FICHIER À PARTIR DE SON CHEMIN (SANS L'EXTENSION) [VC++]

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 19 mai 2003 à 11:51
cs_Klephte Messages postés 22 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 4 janvier 2022 - 20 mai 2003 à 09:21
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/10788-extraire-le-nom-d-un-fichier-a-partir-de-son-chemin-sans-l-extension-vc

cs_Klephte Messages postés 22 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 4 janvier 2022
20 mai 2003 à 09:21
Tu pouvais aussi faire un appel à _splitpath mais je te l'accorde c'est moins marrant ;-)
Galett Messages postés 115 Date d'inscription jeudi 7 février 2002 Statut Membre Dernière intervention 21 mai 2005
20 mai 2003 à 01:48
oups désolé, j'avais pas vu, sorry
RaphAstronome Messages postés 104 Date d'inscription samedi 7 décembre 2002 Statut Membre Dernière intervention 17 août 2009
19 mai 2003 à 19:09
Ca serait bien qu'il y ai un deuxieme parametre pour savoir si on enleve l'extention ou pas.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 mai 2003 à 13:29
C'est bien ce que j'avais mis:
while(*c) c++; // nous sommes en fin
Galett Messages postés 115 Date d'inscription jeudi 7 février 2002 Statut Membre Dernière intervention 21 mai 2005
19 mai 2003 à 13:18
quitte à chercher le dernier '\' autant commencer par la fin :
for (i=strlen(fichier);i>0;i--) {

if (ltmp[i] == '\') { //si c'est un ""
pos = i;
break;
}
} //On récupère ainsi la pos du dernier ""
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
19 mai 2003 à 11:51
va modifier direct le buffer:
char *c = fichier;
while(*c) c++;
while(*c != '\') c--;
strcpy(fichier, c+1);
ciao...