La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Bases de la programmation en C++ 1 Les fichiers texte en C++ Rappel, qu’est ce qu’un fichier?  Une suite de données de même type !  Stockées en mémoire.

Présentations similaires


Présentation au sujet: "Bases de la programmation en C++ 1 Les fichiers texte en C++ Rappel, qu’est ce qu’un fichier?  Une suite de données de même type !  Stockées en mémoire."— Transcription de la présentation:

1 Bases de la programmation en C++ 1 Les fichiers texte en C++ Rappel, qu’est ce qu’un fichier?  Une suite de données de même type !  Stockées en mémoire secondaire (disque dur, CD, Diskette…).  Sous forme d’octet (comme en mémoire centrale).  A quoi ça sert:  Les données en mémoire centrale durent uniquement le temps de programme => Mais un fichier est persistant.  Beaucoup plus de place en mémoire secondaire (disque dur…).  Mais! L’accès à la mémoire secondaire est beaucoup plus long.

2 Bases de la programmation en C++ 2 Généralité sur les flux (ou flots) La lecture et l’écriture dans un fichier sont des opérations d’entrée / sortie.  Utilisation de la bibliothèque iostream (déjà utilisée pour les E/S écran/clavier)

3 Bases de la programmation en C++ 3 Déclaration d’un fichier Un fichier possède un nom physique (connu du système d’exploitation) (exemple: Cours7.ppt). Pour utiliser un fichier dans un programme, on lui associe un nom logique (le nom de la variable de type fichier). Avec la bibliothèque iostream, le type fichier est fstream. Déclaration: fstream nom_logique ; On a déclaré une variable de type fichier (fstream). Cette variable ne correspond encore à aucun fichier physique.

4 Bases de la programmation en C++ 4 Ouverture d’un fichier C’est la qu’on associe un fichier physique à notre variable de type fichier (fstream). Syntaxe: nom_logique. open (nom_physique, mode_ouverture); Nom de la variable de type fichier Mode d’ouverture du fichier Nom physique du fichier sur le disque

5 Bases de la programmation en C++ 5 Les modes d’ouverture de fichiers  Ecriture ios::out : Le pointeur de position du fichier est placé au début (le fichier est effacé).  Lecture ios::in : Le pointeur de position du fichier est placé au début du premier enregistrement du fichier.  Mise à jour : ios::app : Le pointeur de position du fichier est placé à la fin du fichier physique (après le dernier enregistrement). Fermeture d’un fichier: nom_logique. close( );

6 Bases de la programmation en C++ 6 Lecture séquentielle d’un fichier Différentes fonction de lecture:  L’opérateur >> (fonctionne comme cin). nom_fichier_logique >> variable1 [>> variable2>> …]; Espace et le saut de ligne agissent comme des séparateurs  L’opérateur get(char & car) nom_fichier_logique. get ( car) ; Lecture d’un caractère (qui est mis dans car)  L’opérateur read(char * chaine, int taille) nom_fichier_logique. read ( chaineCar, n) ; Lecture de n caractères qui sont mis sous forme de chaine dans chaineCar  Attention, dés qu’on a lu un enregistrement il faut tester si le fichier n’est pas fini ! nom_fichier_logique. eof () ==0

7 Bases de la programmation en C++ 7 Lecture séquentielle d’un fichier #include int main () { char car; fstream f; // déclaration d’une variable de type fichier (ou flux) f. open ("fich1.txt", ios::in);/* ouverture en lecture. */ // lecture et affichage du fichier caractère par caractère f.get (car); // on lit le premier caractère while (! f.eof ()) // tant que le fichier n’est pas fini { cout<< car; f. get (car); // on lit 1 caractère //le pointeur de position est alors décalé } return 0; }

8 Bases de la programmation en C++ 8 Ecriture séquentielle d’un fichier Différentes fonction d’écriture:  L’opérateur << (fonctionne comme cout). nom_fichier_logique << variable1 [<< variable2<< …];  L’opérateur put (char car) nom_fichier_logique. put ( car) ; Ecriture d’un caractère  L’opérateur write(char * chaine, int taille) nom_fichier_logique. write ( chaineCar, n) ; Ecriture des n caractères contenus dans ChaineCar Vérification que le fichier a bien été ouvert nom_fichier_logique. good( ) Remise à 0 du statut de fin de fichier activé à la fin d’une lecture. nom_fichier_logique. clear( );

9 Bases de la programmation en C++ 9 Ecriture séquentielle d’un fichier #include int main () { char chaine[255]; // déclaration et ouverture d'un fichier texte fstream fich; fich. open ("fich1.txt", ios::out); // lecture au clavier et écriture sur chaîne de caractères cin >> chaine; while (strcmp(chaine,"stop")!=0) //on arrête quand l’utilisateur marque stop { fich<>chaine; } // fermeture du fichier fich.close (); return 0; }


Télécharger ppt "Bases de la programmation en C++ 1 Les fichiers texte en C++ Rappel, qu’est ce qu’un fichier?  Une suite de données de même type !  Stockées en mémoire."

Présentations similaires


Annonces Google