Les fichiers : lecture-ecriture formatée avec fstream

Description

Dans « fichier.pdf »
Un petit tour des fonctions disponibles :
- open(),
- se déplacer dans le flux fichier tell(p/g), seek(p/g),
- gérer l'état du flux good(), eof(), fail(), bad() et clear().
Ecrire et lire avec les opérateurs << et >>.

Un projet complet en Visual contenant les exemples dont un exemple complet 'Traitement du fichier pièce' exploitant la surcharge des opérateurs << et >>.

Source / Exemple :


//---------------- Flux Fichier R/W formatées avec Fstream de la STL --------
//                        Insère des données dans le fichier 
//                      Relit et affiche les nouvelles données
//-----------------------  David Saint-Mellion 20/01/2003 -------------------

// Extrait d'un des sources disponibles dans le zip

#include <iostream>
#include <fstream>
using namespace std ;

int main(void){
	
	float cote1=111.1f;
	float cote2=222.2f;
	float coteLu=0;
	// Instance fichier en lecture
	fstream fMesure; 						
	// Variable de position
	streampos OldPosition;					
	
	// Ouvre le fichier en R/W et positionnement à la fin pour ajout
	// open() - voir paragraphe 21 doc pdf
	fMesure.open("mesure.dat",ios::in|ios::out|ios::ate);

	// Mémorise la position
	// tellp() - voir paragraphe 43 doc pdf
	OldPosition=fMesure.tellp();
	// Écrit les données
	fMesure<<cote1 <<endl<<cote2<<endl;
	
	// Replace le pointeur de flux à l'ancienne position
	// tellp() - voir paragraphe 43 doc pdf
	fMesure.seekg(OldPosition,ios::beg);
	// Relit les données tq pas EOF
	// voir paragraphe 52 doc pdf
	while(fMesure>>coteLu)
		cout<<"DONNES du flux fichier : "<<coteLu<<endl;
	fMesure.close();

	return 0;
}

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.