Structures de Données MIP — S4 PDF

Document Details

Uploaded by Deleted User

FSTF

2019

Pr. K. Abbad & Pr. Ad. Ben Abbou & Pr. A. Zahi

Tags

data structures computer science c programming files

Summary

This document is a presentation on data structures, focusing on files and recursion. It covers file concepts and C programming examples.

Full Transcript

STRUCTURES DE DONNÉES MIP — S4 Pr. K. Abbad & Pr. Ad. Ben Abbou & Pr. A. Zahi Département Informatique FSTF 2019-2020 1 Structures de données Séance 3 ...

STRUCTURES DE DONNÉES MIP — S4 Pr. K. Abbad & Pr. Ad. Ben Abbou & Pr. A. Zahi Département Informatique FSTF 2019-2020 1 Structures de données Séance 3 Séance 3  Fichiers  Récursivité 2 Structures de données Séance 3 Fichiers  Ouverture  Ecriture  Lecture  Fermeture 3 Structures de données Séance 3 Fichier —Définition  Un fichier est une entité qui permet de conserver l’information de manière permanente.  Les supports destinés pour le stockage d’un fichier sont:  disque dur,  CD,  flash disque (USB),  etc.,  Un fichier conserve une collection d’informations homogènes et les structures comme une suite:  d’octets — fichiers binaires  de caractères. — fichiers textes 4 Structures de données Séance 3 Fichier —Représentation physique  Un fichier est identifié par une chaîne de caractères:  Qui désigne le nom physique du fichier sur un support de stockage.  Qui est attribuée par l’utilisateur.  Deux fichiers sont définis par défaut pour tous les programmes C:  le fichier stdin, qui est associé avec l’entrée standard (le clavier).  le fichier stdout qui est associé avec la sortie standard (l’écran). 5 Structures de données Séance 3 Fichier —Exemples  L’explorateur Windows affiche 4 fichiers caractérisés par leurs noms et leurs extensions. Fichiers considérés comme une suite Fichiers d’octets binaires Fichiers Textes Fichiers considérés comme une suite de caractères 6 Structures de données Séance 3 Fichiers en C — Principe  Les programmes sont situés dans la Mémoire Centrale (MC).  Les fichiers physiques sont situés dans un support de stockage (SS).  La MC et les SS n’ont pas la même vitesse de lecture/écriture. Nécessité d’utiliser un intermédiaire pour réduire le temps d’accès à un support de stockage. Mémoire tampon (buffer) 7 Structures de données Séance 3 Fichiers en C — Principe Le système Le programme récupère et récupère et Programmes C dépose les dépose les informations à Instructions informations à + partir du buffer partir du buffer Données Mémoire tête tampon lec/ecr Support de stockage Mémoire centrale 8 Structures de données Séance 3 Fichiers en C —Descripteur de fichier  C’est un pointeur de type FILE  FILE —Structure prédéfinie qui contient :  L’adresse de la mémoire tampon,  La position courante de la tête de lecture/écriture,  Le type d’accès au fichier,  L’état d’erreur,  etc.,  Assure la liaison entre le fichier physique et le programme. 9 Structures de données Séance 3 Fichiers en C —Scénario d’utilisation  Déclarer un descripteur de fichier; FILE * fp ;  Établir la connexion entre le descripteur fp et le nom physique du fichier. la fonction fopen ;  fp devient le représentant du fichier physique dans le programme.  Lire/écrire à partir/dans le fichier. les fonctions fscanf/fprintf;  Fermer le fichier. la fonction fclose ; 10 Structures de données Séance 3 Fichiers en C —fopen  Ouverture d’un fichier et liaison avec le fichier physique.  Syntaxe Exemle FILE * fp; fp= fopen(non_physique, mode_ouverture) ;  fp : Descripteur de fichier  non_physique : Une chaîne de caractères qui contient le nom du fichier physique.  mode_ouverture : Pointeur sur une chaîne de caractères qui indique le mode d’ouverture du fichier  La fonction fopen retourne le descripteur de fichier si l’ouverture a réussi et NULL dans le cas échéant. 11 Structures de données Séance 3 Fichiers en C —fopen  Le mode d’ouverture peut être l’une des chaînes suivantes : Exemle Mode Position Signification ’’r’’ début fichier texte en lecture ’’w’’ début fichier texte en écriture ’’a’’ fin fichier texte en écriture ’’rb’’ début fichier binaire en lecture ’’wb’’ début fichier binaire en écriture ’’ab’’ fin fichier texte en écriture ’’r+’’ début fichier texte en lecture/ écriture ’’w+’’ début fichier texte en lecture/ écriture ’’a+’’ fin fichier texte en lecture/écriture ’’r+b’’ ou ’’rb+’’ début fichier binaire en lecture/écriture ’’w+b’’ ou ’’wb+’’ début fichier binaire en lecture/écriture ’’a+b’’ ou ’’ab+’’ fin fichier binaire en lecture/ écriture 12 Structures de données Séance 3 Fichiers en C —fclose  Fermeture d’un fichier et rupture du lien entre le descripteur et le fichier physique.  Syntaxe FILE * fp;.. fclose(fp);  La fonction fclose retourne la valeur 0 si le fichier a été fermé, et retourne la valeur EOF s’il y a eu une erreur.  La fonction fclose doit être appelée dès qu’on termine l’exploitation du fichier.  13 Structures de données Séance 3 Fichiers en C —fscanf  Lecture formatée avec conversion de type.  Syntaxe FILE* fp;.. fscanf (fp, format,&var_1, &var_2,...) ;  fp : descripteur du fichier à partir duquel se fait la lecture.  format : chaîne de caractère qui contient des caractères constants et des spécificateurs de formats.  var_i : une variable dans laquelle on récupère la valeur à lire. 14 Structures de données Séance 3 Fichiers en C —fprintf  Ecriture formatée avec conversion de type  Syntaxe FILE* fp;.. fprintf(fp, format,var_1, var_2,...) ;  f p: descripteur du fichier sur lequel se fait l’écriture.  format : chaîne de caractère qui contient des caractères constants et des spécificateurs de formats.  var_i : une variable à écrire sur le fichier. 15 Structures de données Séance 3 Fichiers en C —feof  Lors de la fermeture d’un fichier ouvert en écriture, la fin du fichier est marquée par le symbole EOF.  Lors de la lecture d’un fichier, la fonction feof permet de détecter la fin du fichier.  Une valeur non nulle est retournée si l'on est à la fin du fichier, sinon, une valeur nulle est renvoyée.  Syntaxe FILE* fp;.. feof(fp) ; 16 Structures de données Séance 3 Fichiers en C —Exemple 1  Un programme qui permet de :  Créer le fichier « temperature.dat »;  Stocker les températures de N villes (le nombre de ville N à saisir au clavier). 17 Structures de données Séance 3 Fichiers en C —Exemple 1 FILE *fp; int i,t; int N; printf("donner le nombre de ville:"); scanf("%d",&N); fp=fopen("temperature.dat","w"); if(fp!=NULL){ for(i=0;i

Use Quizgecko on...
Browser
Browser