Gestion de flux

cs_djfab Messages postés 5 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 5 octobre 2003 - 10 janv. 2003 à 16:50
cs_djfab Messages postés 5 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 5 octobre 2003 - 10 janv. 2003 à 22:48
Bonjour,

J'ai une petite question à propos des flux

J'inclu fstream.h, je crée un objet fic, je fais fic.open("fichier.dat", ios:in)

Et là, en fait, bah, je sais pas ce que ça veut dire ios::in

C'est comme quand on déclare les méthodes d'une classe (le ::) ou bien c'est juste un paramètre à connaitre pour dire que le fichier est en entrée ?

Merci.

4 réponses

cs_bouba Messages postés 518 Date d'inscription dimanche 2 décembre 2001 Statut Membre Dernière intervention 10 novembre 2007 3
10 janv. 2003 à 18:05
Et bien en fait ce paramètre déféinit le mode d'ouverture de ton fichier. Ici tu définit l'ouverture de ton fichier en mode de lecture.
Oui, c'est une donnée membre de la classe ios.
Donc on y accède ainsi ios::in.
Voici les modes qui existent:
ios::app -> ouverture en mode ajout
ios::ate -> mode lecture et écriture plus placement du pointeur fichier a la fin
ios::out -> mode écriture
ios::nocreate -> ouvre le fichier que s'il existe
ios::noreplace -> ouvre le fichier que s'il existe pas
ios::trunc -> ecrase le fichier existant
ios::binary -> ouverture en mode binaire

Voila, j'espère avoir répondu correctement a ta question.
Alé Bonne prog!
A+
Bouba
0
cs_djfab Messages postés 5 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 5 octobre 2003
10 janv. 2003 à 18:13
Désolé, je débute en C++, je comprends pas trop en fait quand tu dis donnée membre, on modifie un attribut publique de la classe avec cet opérateur ?
0
cs_vegetaline Messages postés 13 Date d'inscription mercredi 3 juillet 2002 Statut Membre Dernière intervention 17 juin 2003
10 janv. 2003 à 21:48
La donnée membre ios::in n'est pas un opérateur, c'est une constante (en fait, pour être précis, il s'agit d'un type énumeraif). Cette constante est définie (avec les autres app, ate, out, etc.) dans la classe ios où elle est utilisée par les méthodes de ios.

Pour resumer, certaines méthodes de la classe ios ont besoin d'arguments spécifiques et cette même classe se donne donc constantes correspondant à ces arguments pour éviter à l'utilisateur de faire n'importe quoi...
0
cs_djfab Messages postés 5 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 5 octobre 2003
10 janv. 2003 à 22:48
OK, merci, type énumeraif j'ai pas entendu parler, alors je suppose que je vais l'apprenre en même temps que les classes, parce que le nomclasse::constante, g jamais vu ça, mais bon ... faut apprendre quoi.

Merci de ta réponse. C'est très sympa de ta part
0
Rejoignez-nous