Recuperer le nom d'un fichier a partire du chemin du fichier

Résolu
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008 - 26 janv. 2007 à 11:12
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 26 janv. 2007 à 20:55
Bonjour
je voudrais savoire comment on peut récupérer le nom d'un fichier à partir de son chemin ?
_______
Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise clavier

8 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
26 janv. 2007 à 11:41
Tu peux aussi regarder dans les fonctions c : http://www.cplusplus.com/reference/clibrary/cstring/
++
3
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
26 janv. 2007 à 11:36
en C sous GCC c'est possible ?

_______
Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise clavier
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
26 janv. 2007 à 11:37
Si tu as un chemin du genre C:\toto\tata\bob\monfichier.txt. Tu parcours ta chaine de caractere et tu garde en mémoire la position du dernier \ apres tu fait une sous chaine a partir de cette postion jusqu'a la fin de la chaine
0
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
26 janv. 2007 à 11:39
mais comment faire?
________
Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise clavier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebastienmz Messages postés 139 Date d'inscription mardi 16 mai 2006 Statut Membre Dernière intervention 23 juin 2008
26 janv. 2007 à 11:47
MERCI
________
Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise clavier
0
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
26 janv. 2007 à 11:50
char chemin[] = "chemin/complet/monfichier.txt";
char nomfichier[100];
char * ptr = chemin;
char *debutfichier = 0;
while(*ptr != 0)
{
    if(*ptr == '\')
       debutfichier = (ptr +1);
    ptr++;
}
char * ptr = nomfichier;
while(*debutfichier != 0)
{
    *ptr = *debutfichier;
    ptr++;
   debutfichier++;
}
ptr++
*ptr = '0'

(ou un truc dans le genre pas testé)
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
26 janv. 2007 à 20:49
Publié dans les snippets CS:

char *FileName (char *path)
{    char *c path, *ret path;
    if(!c) return 0;
    while(*c)
    {        if(*c '\\')  ret c+1;
        c++;
    }
    return ret;
}

C++ (@++)<!--
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
26 janv. 2007 à 20:55
J'avais aussi fais une version un peu plus compacte par la suite (et possiblement mieu optimisé aussi):

char *FileName (char *path)
{    char *c path, *ret path;
    if(!c || !*c) return 0;    do if(*c++ '\\') ret c; while(*c);
    return ret;
}

C++ (@++)<!--
0
Rejoignez-nous