GESTION DES FICHIERS. Plan



Documents pareils
Programmation impérative

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Le langage C. Séance n 4

Les fichiers. Chapitre 4

Le système de gestion des fichiers, les entrées/sorties.

Programmation système I Les entrées/sorties

Cours 14 Les fichiers

Compression de Données - Algorithme de Huffman Document de Conception

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Cours de Système : Gestion de Fichiers

Cours 6 : Tubes anonymes et nommés

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

La gestion des boîtes aux lettres partagées

Cours Programmation Système

Les structures. Chapitre 3

Programmation système de commandes en C

PROJET ALGORITHMIQUE ET PROGRAMMATION II

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

SYSTÈME DE GESTION DE FICHIERS

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Bernard HAMM, Évelyne LAVOISIER

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Cours d initiation à la programmation en C++ Johann Cuenin

I. Introduction aux fonctions : les fonctions standards

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Rappels Entrées -Sorties

Conventions d écriture et outils de mise au point

Les chaînes de caractères

Travaux Dirigés n 1 : chaînes de caractères

Structure fonctionnelle d un SGBD

Algorithmique et Programmation, IMA

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Architecture des ordinateurs

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Le Langage De Description De Données(LDD)

GESTION DES FICHIERS C/UNIX

ACTIVITÉ DE PROGRAMMATION

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Les structures de données. Rajae El Ouazzani

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

3IS - Système d'exploitation linux - Programmation système

La programmation des PIC en C. Les fonctions, les interruptions.

Bases de programmation. Cours 5. Structurer les données

1 Gestionnaire de Données WORD A4 F - USB / / 6020 Alco-Connect

Manuel d utilisation NETexcom

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5


EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cégep de Saint Laurent Direction des communications et Direction des ressources technologiques. Projet WebCSL : Guide de rédaction web

SQL Serveur Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

#include <stdio.h> #include <stdlib.h> struct cell { int clef; struct cell *suiv; };

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Programmation système en C/C++

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Compte-rendu de projet de Système de gestion de base de données

Algorithmique, Structures de données et langage C

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Java Licence Professionnelle CISII,

Programmation en langage C

Le prototype de la fonction main()

KL5121. Pour activer des sorties en fonction de la position d'un codeur

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Le modèle de données

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

TD3: tableaux avancées, première classe et chaînes

INITIATION A LA PROGRAMMATION

Premiers Pas en Programmation Objet : les Classes et les Objets

Flux de données Lecture/Ecriture Fichiers

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Introduction au langage C

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Arguments d un programme

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Guide de référence rapide sur la messagerie vocale d'avaya Distributed Office

Stockage du fichier dans une table mysql:

MEDIAplus elearning. version 6.6

TRAITEMENTS de FIN D ANNEE

Le service FTP. M.BOUABID, Page 1 sur 5

FIDÉICOMMIS. Être en mesure de :

Le générateur d'activités

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Recherche dans un tableau

Les Différents types de Requêtes dans Access

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

TP 1 : prise en main de Windows. TP 1 : prise en main de Windows

Initiation. àl algorithmique et à la programmation. en C

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Transcription:

Chapitre 10 GESTION DES FICHIERS Objectif: Connaître et manipuler les différentes primitives de gestion de fichier de niveau haut. Pré requis: Les fonction d'entrées sorties Les pointeurs Les structures et les unions Plan I/ Introduction II/ Les catégories des fichiers en C III/ Les primitives de manipulation des fichiers 1) Les primitives standards 2) Les primitives de manipulation : (jeu de procédures et de fonctions)

GESTION DES FICHIERS Chapitre 10 I/ Introduction Le langage C offre des primitives de gestion et de manipulation des fichiers de données. Une différence de taille par rapport à certaine autres langages, en C, on ne différencie pas les fichiers séquentiels et les fichiers directs. II/ Les catégories des fichiers en C En langage C, on distingue deux catégorie de fichier : les fichiers standards (flux de données) les fichiers systèmes (bas niveau) Pour les fichiers standards et systèmes on distingue consécutivement : a) le flux texte : uniquement des caractères b) flux binaire : organisé en blocs d'octets contiguë. (On trouve soit des structures soit des tableaux). Pour la manipulation de ces deux types de fichier, on dispose d'un jeux de procédures, de fonctions, et de bibliothèques spécifiques. III/ Les primitives de manipulation des fichiers 1) Les primitives standards Avant d'utilisé un fichier séquentiel, il faut : créer une mémoire tampon, dont laquelle seront enregistrées les informations avant leurs transferts de la mémoire centrale vers les fichiers de donnés. La création se fait par : FILE *Var_fpteur; Structure pré définie dans stdio.h Pointeur de flux qui indique l'adresse de début de la mémoire tempon

Tout fichier doit être ouvert avant toute opération de création et d'utilisation (lecture / écriture) Cette opération permet d'associer le nom du fichier à une variable qui est un pointeur (mémoire tampon) et de précisé le mode d'utilisation. Pour l'ouverture : Var_fpteur = fopen(nom_fichier, mode) Mode "r" "w" "a" "r+" "w+" "a+" Signification Ouverture d'un fichier existant en lecture seulement Création et ouverture d'un fichier en écriture. Si le fichier existe, il est détruit et remplacé par le nouveau fichier créé (vide) Ouverture d'un fichier existant pour lui ajouté en sortie des enregistrements. Si le fichier spécifier n'existe pas il est automatiquement créé. Ouverture en lecture / écriture d'un fichier existant. Création et ouverture d'un fichier. En cas d'existence, le fichier sera détruit. Ouverture en lecture / écriture d'un fichier, au quel on peut ajouter des enregistrements. En cas d'inexistence, le fichier sera créé. Tout fichier utilisé dans un programme, doit être fermé en fin de programme. fclose(var_fpteur); 2) Les primitives de manipulation : (jeu de procédures et de fonctions) forçage d'écriture de données dans un fichier int fflash(file *ptr); Cette fonction force écriture du buffert associer au fichier. On est certains que les information sont écrites sur le support. Détection de fin de fichier int feof(file *ptr); Cette fonction retourne une valeur non nulle après une lecture à la fin du fichier. Elle permet de distinguer après EOF entre l'erreur et le fin du fichier. Suppression d'un fichier # include <io.h> int unlink(char *path); Cette fonction permet de détruire le fichier de nom path.

Exemple : # include <io.h> main() { unlink("c:\travail\essai.txt"); } accès séquentiel : int fgetc(file *fpt); int getc(file *fpt); Ces procédures permettent une lecture séquentielle d'un caractère sur le fichier fpt. A l'issu de cette opération, la valeur retournée peut être un caractère du fichier ou EOF. S'il s'agit de EOF, alors c'est la fin de fichier ou erreur. La fonction renvoie un entier et non un caractère. Cela permet de distinguer le EOF (-1) des autres caractères. int fputc(char c,file *fpt); int putc(char c,file *fpt); Ecriture séquentielle du caractère c dans le fichier fpt. Ces fonctions retournent le code du caractère c dans le cas normal et EOF en cas d'erreur. Sorties formatées : int fprintf(file *fpt, char *format,...); Cette fonction permet une écriture formaté dans le fichier fpt. Entrées formatées : int fscanf(file *fpt, char *format,...); Cette fonction permet une lecture formaté dans le fichier fpt. Accès sélectif : int fseek(file *fpt, long offset, int méthode); Après l'ouverture du fichier, le pointeur est positionné sur le début du fichier ou sur la fin du fichier en mode append. L'entier long offset, positif ou négatif, spécifie le déplacement à effectuer à partir du point de départ indiqué par le paramètre méthode. méthode 0 : à partir du début 1 : à partir de la position courante 2 : à partir de la fin. Exemples:

1- Saisie d'une ligne de texte et sauvegarde dans un fichier: #include<stdio.h> main() { FILE *fpt; char c; fpt=fopen("fichier.dat","w"); do putc(c=getchar(),fpt); while(c!='\n'); close(fpt); } 2- Affichage d'une ligne de texte lue à partie d'un fichier. #include<stdio.h> main() { FILE *fpt; char c; if(fpt=fopen("fichier.dat","r")==null) printf(("erreur d'ouverture du fichier"); else while((c=getc(fpt)!='\n') putchar(c); } Lecture d'une chaîne de caractères: char *fgets(char *s, int n, FILE *fpt); Cette fonction lit des caractères sur le fichier associé au "stream" fpt, les places dans la chaîne pointée par s. La lecture est stoppée lorsque n-1 caractères ont été lus. Lecture d'un entier à partir d'un fichier: int getw(file *fpt); Cette fonction permet de récupérer le prochain entier sur le fichier associé à fpt. Ecriture de chaîne de caractères:

int fputs(const char *s,file *fpt); Cette fonction permet d'écrire la chaîne pointée par s dans le fichier associé au stream fpt. Le retour est constitué du dernier caractère transmis en cas de succès, si non EOF. Ecriture d'un entier dans un fichier: int fputw(int w, FILE *fpt); Cette fonction permet d'écrire l'entier w dans un fichier associé à fpt.

ISET DE SFAX II N2 TP N 7 PROGRAMMATION C Les Fichiers A.U 1997/1998 Sem 1 Cours de Mr: TAYARI Lassaad Objectif: Tester les primitives de gestion des fichiers avec le langage C. Durée: 2 séances de trois heures chacune Sujet: On désire traiter des fichiers ayant la structure suivante: une suite de n objets ayant la structure suivante: struct article { char nom[20]; char prenom[20]; int age; }; En utilisants les primitives de gestion de fichiers et en suivant une programmation structurée, écrire un programme C qui effectue les opérations suivantes: Ouverture d'un fichier existant, Afficher le nombre d'articles du fichier ouvert Afficher la valeur du i ème article du fichier ouvert Ajout d'un article en fin de fichier Création d'un nouveau fichier de ce type. Le programme doit être organisé sous forme de menu, il doit évidemment afficher le nom du fichier ouvert et il doit fermer le fichier ouvert avant l'ouverture ou la création d'un nouveau fichier. Bon travail TAYARI Lassaad Page 7 ISET DE SFAX