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

C++ Discussion :

[débutant]Récupérer un nom de fichier


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut [débutant]Récupérer un nom de fichier
    Bonjour Messieurs,je suis nouveau j'espere que je respecte bien vos règles (à savoir recherche perso avant de poster)

    Alors je vous explique mon soucis :

    J'ai mis le fichier .naf a traiter dans le meme repertoire que tout mes .cpp a chaque fois que je veux le recuperer j utilise le path "./test.naf" et il le trouve sans probleme

    Maintenant je veux utiliser pas "test.naf" mais "unautretest.naf" c est a dire je vire "test.naf" du repertoire et je le remplace par "unautretest.naf"

    comment faire pour recupérer ce "unautretest.naf" ?

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tu veux dire que tu veux récupérer un autre fichier dont l'extension est .naf ?
    Soit tu passes par les fonctions de ton OS, ça va donc dépendre de ta plateforme, ou alors tu passes par Boost.FileSystem.

  3. #3
    Membre confirmé Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Points : 567
    Points
    567
    Par défaut
    tu peux nous montrer ton code?
    pour mieux voir où est le prb?
    Ce n'est qu'en forgeant qu'on devient forgeron.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Miles
    Tu veux dire que tu veux récupérer un autre fichier dont l'extension est .naf ?
    Soit tu passes par les fonctions de ton OS, ça va donc dépendre de ta plateforme, ou alors tu passes par Boost.FileSystem.
    oui
    Merci pour ton aide mais je ne comprends pas "Boost.FileSystem" je vais effectuer des recherches la dessus

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    FromXML("./test.naf");   //we load the naf file (.naf) 	
     
    	//results files will store in a directory
    	mkdir("./Results");
    	mkdir("./Results/Details/");
    ici "test.naf" est défini par moi je veux dire par la que je voudrai que ce soit dynamique c est à dire que si c est "troll.naf" qui se trouve dans "./" et pas "test.naf" et bah c'est FromXML("./troll.naf") qui compile.

    et au passage je ferai les recherches après j'aimerai changer "Results" par le nom du fichier, ici j'aimerai que "Results" devienne "test.naf" ou "test". Comme ça quand je changerai de fichier j'aimerai que que si je load "unautretest.naf", "Results" devienne "unautretest.naf"... ce serait trop cool

    P.S: j'espere que je m'exprime bien

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Ah, c'est juste l'histoire de passer par une variable alors ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <string>
     
    std::string Filename = "test";
     
    FromXML(("./" + Filename + ".naf").c_str());   //we load the naf file (.naf) 	
     
    //results files will store in a directory
    mkdir(("./" + Filename).c_str());
    mkdir(("./" + Filename + "/Details").c_str());

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci Laurent Gomila,

    Mais en fait c est au niveau du "test" c est ce fameux test que j'aimerai bien récupérer. Mettons que dans "./" il n'y a que 1 seul .naf j'aimerai pouvoir stocker le nom de ce fameux fichier et pouvoir l'utiliser

  8. #8
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Boost.FileSystem est une sous-bibliothèque de Boost, c'est portable - sur toutes les plateformes -. Il y a un tuto qui va sortir à ce sujet ici : http://miles.developpez.com/tutoriel...st/filesystem/ et il y a un exemple de parcours d'arborescence pour copier tous les fichiers dont l'extension est .exe.
    Là, tu dois simplement rechercher un fichier donc l'extension est .naf dans le dossier courant, donc c'est un peu plus simple.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Salut Miles,

    j'ai lu ta doc (très bien faites) mais je dois admettre que je suis bien noyé
    peux tu me dire plus simplement comment faire pour :
    stocker dans 1 std::string le nom d'un fichier qui se trouve dans "./"sanchant que l'extension de ce fichier est un ".naf" et qu il y a 1 seul .naf a la fois
    je veux récupérer ce nom car il change souvent


    Sinon sur ta doc je n'ai pas compris :
    Cette bibliothèque doit être générée et des fichiers .lib/.a ou .dll/.so seront à inclure à la compilation et à l'exécution. Toutes les classes et les fonctions vivent dans le namespace boost::filesystem.
    parce que quand je fais dans mon code (sous dotnet)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <boost/filesystem/path.hpp>
    #include <boost/filesystem/operations.hpp>
    #include <boost/filesystem/convenience.hpp>
    le compilateur me dit qu il ne trouve pas le fichier "path.hpp"
    je suis newbie mais avec l intention d'apprendre !!!

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    C'est une bibliothèque à télécharger chez boost.org. Pour un mini tuto d'installation, http://miles.developpez.com/tutoriels/cpp/boost/
    Il faut que tu configures ton IDE correctement, et que tu compiles la bibliothèque.
    Si c'est pas assez clair, le tuto, indique-le moi, que je puisse être plus explicite - on ne se rans pas toujours compte de cela -

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    ok bah c'est peut etre aussi parce que je débute

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    tu pourrais donner 1 exemple de compilation avec bjam ce n'est pas très clair pour moi de preférence avec 1 compilo dotnet

    je ne comprend pas bien comment se servir de ce bjam.exe que tu nous a fait telecharger

  13. #13
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Justement, il faut quand même que mon tuto soit accessible aux débutants

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    je vais abandonner cette solution qui me parait trop balez pour moi pour le moment je reviendrai dessus quand j'aurai pris plus d'expérience

  15. #15
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Comme tu veux
    En attendant tu peux sans doute trouver ton bonheur avec les fonctions de ton OS. Dans la FAQ C, il y a un exemple, je pense qu'on peut le réutiliser sans pb en C++

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci bien je vais regarder quand meme vite fait

  17. #17
    Membre habitué Avatar de b Oo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 179
    Points : 185
    Points
    185
    Par défaut
    Bonjour,
    pour rechercher un fichier tu peux utiliser la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    system("nom de la commande");
    Si tu travailles sur Linux, tu peux par exemple afficher tous les fichiers .nat, et récupérer le résultat.
    Pour Windows, tu peux aller voir Comment énumérer les fichiers d'un dossier (API Windows) ?
    b Oo

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

Discussions similaires

  1. Récupérer un nom de fichier sans extension
    Par OxN dans le forum Général Java
    Réponses: 13
    Dernier message: 01/08/2011, 16h13
  2. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 13h20
  3. [débutant] [JFileChooser] Récupérer le nom du fichier
    Par pingoui dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 14/08/2004, 14h41
  4. Récupérer le nom du fichier spool correspondant à un job
    Par chtiot dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 23/02/2004, 20h28
  5. Réponses: 2
    Dernier message: 29/01/2004, 11h05

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