IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

Extraire path d'un repertoire à partir d'un chemin de fichier


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Novembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2007
    Messages : 53
    Par défaut Extraire path d'un repertoire à partir d'un chemin de fichier
    Bonjour,

    Ma question est simple, tout est dans le titre; cepandant malgré pas mal de recherche, je ne trouve pas la réponse que j'attends.

    Le problème est le suivant :
    J'ai un chemin de fichier, prenons par exemple :
    C:\repertoire1\sous_repertoire10\mon_fichier.txt

    Quel est le nom de la fonction (ou méthode) permettant de récupérer uniquement le chemin du repertoire; autrement dit :
    C:\repertoire1\sous_repertoire10\ ?


    Pour information;
    je développe une dll sous visual studio 2008.

    Merci d'avance.

  2. #2
    Membre chevronné
    Avatar de haraelendil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 283
    Par défaut
    Bah au pire tu fais ça à la main en prenant la sous-chaine qui va de 0 à l'index du dernier antislash que tu trouve.
    Mais il doit bien y avoir des fonctions toutes faites pour faire ça...

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    188
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 188
    Par défaut
    Avec Qt tu peux en Boost aussi je pense mais rien avec les lib standard a mon avis

  4. #4
    Membre confirmé
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Novembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2007
    Messages : 53
    Par défaut
    haraelendil : C'est ce que je m'apprêtais à faire avant de poster mon message.
    Ce n'est pas bien sorcier à faire, je te l'accorde; mais réinventer la poudre ne sert souvent pas à grand chose.

    Merci tout de même ;-).

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Par défaut
    Etant donné que les chemins peuvent contenir aussi bien des \ que des / il faut s'assrer de ne pas vérifier uniquement la présence de \.
    Et puis, il peut ne pas y avoir de \ ni / du tout.

  6. #6
    Membre chevronné
    Avatar de haraelendil
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2004
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2004
    Messages : 283
    Par défaut
    il me semble bien qu'en unix il y a une fonction toute faite pour ça qui a été traduite en C, de la se rappeler le nom et à savoir si elle est standard, c'est autre chose^^

  7. #7
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Tu as plusieurs solutions :
    1- Méthode maison.
    2- boost.Filesystem.

    Dans ton cas, la méthode maison peut suffire. Avec un petit algo de la STL bien placé, ça va tout seul. A vue de nez, je dirai un std::find_first_of couplé avec un reverse itérator et un foncteur de ton cru pour tester à la fois "\" et "/" comme on te l'a fait remarqué précédemment...

  8. #8
    Invité
    Invité(e)
    Par défaut
    Pour la methode maison, il y aussi std::string::find_last_of().

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Regex d'extraction d'une chaine à partir d'un chemin de fichier
    Par cryosore dans le forum Langage
    Réponses: 1
    Dernier message: 07/03/2010, 20h47
  2. Obtenir un ICompilationUnit à partir d'un chemin de fichier
    Par laurent_diep dans le forum Eclipse Platform
    Réponses: 4
    Dernier message: 21/05/2009, 18h24
  3. Obtenir un ICompilationUnit à partir d'un chemin de fichier
    Par laurent_diep dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 11/05/2009, 20h49
  4. creer un repertoire à partir d'un nom de fichier
    Par quefets dans le forum Langage
    Réponses: 15
    Dernier message: 05/12/2008, 10h23
  5. Récupérer le Path d' un repertoire
    Par wil4linux dans le forum ASP
    Réponses: 2
    Dernier message: 15/09/2005, 18h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo