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 :

Retrouver le nom d'un fichier à partir std::ifstream *


Sujet :

C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut Retrouver le nom d'un fichier à partir std::ifstream *
    Bonjour,

    Je dispose d'une variable de type std::ifstream *pIfs. Cette variable pointe sur un fichier qui est ouvert. Je souhaite retrouver le nom (et le chemin d'acces) et/ou le handle associé de ce fichier. Pouvez-vous m'aider?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    Déjà, on n'utilise JAMAIS (ou en tout cas, il est fortement déconseillé de le faire ) un pointeur sur les flux.

    ensuite, l'idée c'est que tu est généralement assez grand pour te souvenir du nom du fichier que tu as ouvert... ou de prendre les précautions pour que ce soit le cas (une std::map <string, fstream> ou un membre de la classe )

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 303
    Points : 155
    Points
    155
    Par défaut
    Citation Envoyé par koala01 Voir le message
    ensuite, l'idée c'est que tu est généralement assez grand pour te souvenir du nom du fichier que tu as ouvert... ou de prendre les précautions pour que ce soit le cas (une std::map <string, fstream> ou un membre de la classe )
    Je dois dire que cela m'aide beaucoup. Si j'avais la possibilité de stocker le nom tu peux croire que je n'aurais pas passer mon temps à poser la question.

    Une des classes utilisées dans mon appli (MFC) va être utilisée dans une application embarquée. L'accès aux fichiers se fait via la classe MFC CFile. Je dois remplacer cela par un accès plus standard (C++) et donc probablement fstream. Je cherche donc des correspondances

  4. #4
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 282
    Points : 11 036
    Points
    11 036
    Par défaut
    Citation Envoyé par koala01 Voir le message
    a- Déjà, on n'utilise JAMAIS (ou en tout cas, il est fortement déconseillé de le faire ) un pointeur sur les flux.
    [...]
    b- une std::map <string, fstream>
    a- c'est vrai ...
    b- ... sauf là, le type doit être affectable ... d'où le besoin d'une std::map<std::string,std::fstream*> à la place.

    Sinon, définis une structure avec un champ qui est le nom et l'autre le flux...

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/04/2008, 14h33
  2. Réponses: 4
    Dernier message: 21/03/2008, 09h06
  3. Récupérer le nom d'un fichier à partir de son chemin
    Par Jiraiya42 dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2007, 11h38
  4. Réponses: 2
    Dernier message: 12/12/2006, 19h30
  5. Réponses: 6
    Dernier message: 05/05/2006, 14h47

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