Utilisation des flags fstream

Signaler
Messages postés
21
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
18 décembre 2009
-
asari29
Messages postés
21
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
18 décembre 2009
-
Bonjour, j'espère que qelqu'un sera me répondre...
J'utilise actuellement les fstream dans un programme. Lorsqu'on utilise la méthode open(...), on spécifie le mode d'ouverture. J'aimerai connaitre la manière de tester un fstream après ouverture pour savoir si il est en mode lecture, écriture ou les deux, merci d'avance pour vos réponses.

3 réponses

Messages postés
21
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
18 décembre 2009

Je précise un peu ma requete:

Je souhaiterais qu'une routine prenne un fstream en parametre et détermine son mode d'ouverture.


ex:


void routine (fstream iFstream)

{

if(iFstream... ^ ios_base::in) cout<<"flux en lecture"<<endl;

else cout<<"flux en ecriture"<<endl;

}


C'est ce qu'il faut mettre dans le test qui me pose problème

(L'exemple est bete mais c'est pour illustrer ma demande)


merci d'avance
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Messages postés
21
Date d'inscription
mercredi 21 novembre 2007
Statut
Membre
Dernière intervention
18 décembre 2009

Merci mais je crois pas que la méthode flags() ne permette de tester le mode d'ouverture d'un flux.
Mises à part les methodes du genre dynamic_cast ou typeid() je ne pense pas qu'il y ait de solution simple à mon problème. J'ai donc opté pour un simple enum qui me renseigne sur le mode d'ouverture du flux.
merci pour vos (ou ta réponse)