Une autre énumération regroupe les masques unitaires utilisés pour le champ de mode. Celui-ci indique de quelle façon les données sont lues ou écrites, et ce qui se passe au moment de louverture du flot. On lutilise surtout pour les fichiers. Voici la liste de ces bits :
ios::in | Fichier ouvert en lecture. |
ios::out | Fichier ouvert en écriture. |
ios::app | Ajoute les données, en écrivant toujours à la fin (et non à la position courante). |
ios::ate | Aller à la fin du fichier à louverture (au lieu de rester au début). |
ios::trunc | Supprime le contenu du fichier, sil existe déjà ; cette suppression est automatique pour les fichiers ouverts en écriture, sauf si ios::ate ou ios::app a été précisé dans le mode. |
ios::nocreate | Pour une ouverture en écriture, ne crée pas le fichier sil nexiste pas déjà ; une erreur (bit ios::failbit positionné) est produite dans le cas où le fichier nexiste pas encore. |
ios::noreplace | Pour une ouverture en écriture, si ni ios::ate ni ios::app ne sont positionnés, le fichier nest pas ouvert sil existe déjà, et une erreur est produite. |
ios::binary | Fichier binaire, ne faire aucun formatage. |
Par exemple lécriture suivante :
fstream fl("EXEMP.CPP", ios::in|ios::out|ios::app);
ouvre le fichier EXEMP.CPP
en lecture et écriture, avec ajout des nouvelles données à la fin (voir aussi le paragraphe sur les flots sur disques).
Précédent | Sommaire | Suivant |