Recuperer le nom d'un fichier a partire du chemin du fichier [Résolu]

Signaler
Messages postés
139
Date d'inscription
mardi 16 mai 2006
Statut
Membre
Dernière intervention
23 juin 2008
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
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

Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
22
Tu peux aussi regarder dans les fonctions c : http://www.cplusplus.com/reference/clibrary/cstring/
++
Messages postés
139
Date d'inscription
mardi 16 mai 2006
Statut
Membre
Dernière intervention
23 juin 2008

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
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
22
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
Messages postés
139
Date d'inscription
mardi 16 mai 2006
Statut
Membre
Dernière intervention
23 juin 2008

mais comment faire?
________
Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise clavier
Messages postés
139
Date d'inscription
mardi 16 mai 2006
Statut
Membre
Dernière intervention
23 juin 2008

MERCI
________
Sébastien Metthez
[www.sebastien-metthez.com www.sebastien-metthez.com]
le problème vient souvent de l'interface chaise clavier
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
22
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é)
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
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++ (@++)<!--
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
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++ (@++)<!--