Accès aux fichiers en C.

Slides:



Advertisements
Présentations similaires
Cours n° 2 Les entrées-sorties Biliothèque C++ (iostream) –
Advertisements

Gestion de FICHIERS.

Suite à de nombreuses remarques concernant le projet de structures de données 'Gestion d'un Aéroport' , voici un polycopié de cours concernant la gestion.
FLSI602 Génie Informatique et Réseaux
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
TP Fichiers et Tableaux Avril Un fichier Permet le stockage de données sur des supports de mémoire externes (donc les données ne seront pas perdues.
PROGRAMMATION SCIENTIFIQUE EN C PRO Généralités u Présentation du plan de cours –Disponibilité –Références u Environnement de travail –Langage C.
FICHIERS.
Les fichiers binaires en C++
FICHIERS : Définition : Algorithme général:
IFT Structures de données
Operations de Base en C++ sur les Fichiers
Les Fichiers.
ÉLÉMENTS DE BASE UNIX.
Les fichiers texte en C++
Jean-Michel ILIE - novembre SIL - module M12 Programmation Internet en PHP SIL module M12 Jean-Michel Ilié IUT Paris 5 - département informatique.
Les pointeurs L'opérateur &.
PHP 3° PARTIE : GESTION DE FICHIERS ET DE REPERTOIRES
Mémoire périphérique Stockage primaire: Mémoire principale (RAM)
1 FICHIERS. 2 Les Fichiers  Les "entrées-sorties conversationnelles" échangent des informations entre le programme et l'utilisateur.  Le terme de fichier.
Un survol du language C.
Les variables fichiers. Le type fichier On manipule les fichiers par l’intermédiaire de structures FILE décrites dans stdio.h FILE *monFichier; –Nom physique.
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
Chapitre 9 Les caractères.
Algorithmique et langage C
1 Rappel et compléments de la programmation en langage C.
Informatique 2A Langage C 4ème séance
1 Programmation en C++ IO en C++/SL. 2 Sortie à l’écran Exemple: #include int main () { std::cout
Tableaux et Pointeurs Chaînes de Caractères Programmation Impérative II.
1- Introduction 1ère partie Le langage SQL 2- Connexion 3- Structure & Contenu 4- Requêtes.
1 © Copyright 2006, Philippe Arlotto tln.fr Creative Commons Attribution-ShareAlike 2.0 license 27/09/2016 ● Algorithmique & Langage.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
A quoi sert la programmation? - indispensable pour plusieurs métiers. - passion. But du cours: - suite du cours Prog. Imp. I - fichiers, pointeurs, modularité.
1 © Copyright 2005, Philippe Arlotto tln.fr Creative Commons Attribution-ShareAlike 2.0 license 27/09/2016 Algorithmique & Langage.
1 Programmation en C++ IO en C++/SL ● Standard Library ● Types, objets pour IO ● L'entrée de clavier ● Sortie à l'écran ● Fichiers.
Java et sockets TCP.
Cours 08 SYSTÈME DE FICHIERS
>>> Amphi Python
Synthèse TP 2 Codeblock 1 Les objectifs de ce tp sont :
Les tableaux différencier les variables simples des variables indicées (ordonnées et numérotées) un identificateur unique désigne un ensemble, une collection.
Environnement de développement des BD
Introduction au Langage Pascal
Langage C Structure d'un programme Types Lire Ecrire Tester
Les commandes du système de fichiers
Pointeurs et langage C.
Programmation en C++ IO en C++/SL
Collecte de données CAPI
7 – COMMUNICATION INTER PROCESSUS SEGMENTS DE MÉMOIRE PARTAGEE
Algorithmique Langage C
Les fonctions.
Synthèse Socket en C.
Arguments de la ligne de commande
NOTES DE COURS Développement VB2010 Henri TSOUNGUI ISTV - UVHC 2016
Mini synthèse accès fichier en C
Gestion des sécurités sur les comptes User Access Control
Programmation en C++ IO en C++/SL
SYSTÈME D’EXPLOITATION I
Les flux en C++ Les flux d’entrées sorties Les flux standards.
Cours N°9: Algorithmiques Les Tableaux 1
Programmation en C++ C++ de base
Un compteur de visiteurs pour la page d’accueil de notre site
Entrées/Sorties - Variables - Calculs - Alternative
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Gestion des entrées/sorties: organisation d'un disque dur
Exercice : Soient les fonctions définies sur N ( ensemble des entiers naturels donc positifs ) par : f(x) = - 2x + 6 ; g(x) = x + 1 ; k(x) = la plus.
QCM Pointeurs 2 / Q1 On considère la déclaration suivante : char *ptc ; ptc peut contenir : 1) des valeurs de variables de type caractère 2) des adresses.
STREAMS (et fichiers).
Données.
Les Commandes de base Linux. 1 L’aide sur les commandes Linux ◦ help : obtenir de l’aide pour une commande interne du shell. Elle permet aussi d'afficher.
Transcription de la présentation:

Accès aux fichiers en C

Accès aux fichiers en C Principe Accès bas niveau Accès haut niveau Gestion des erreurs

Principe Les fichiers possède un nom physique (ex : toto.txt). En programmation, le nom physique est seulement utilisé pour récupérer les propriétés du fichier (son type, son emplacement sur le disque, sa date de création, de modification...). Pour manipuler le fichier, les programmes utilisent un nom logique qui est un identificateur renvoyé lors de l’ouverture ou de la création d’un fichier.

Principe Ouverture Traitement Fermeture

Principe Ouverture Lecture Ecriture Ajout Création Traitement Fermeture

Principe Ouverture Lecture Ecriture Ajout Création Traitement Fermeture

Accès bas niveau Approche dite de bas niveau ou "par octet". L'accès au fichier dépend directement du système. Dans ce cas, la manipulation des fichiers se fait par un identificateur de type entier (descripteur)

Descripteurs standards : stdin (0) stdout (1) stderr (2) Accès bas niveau Descripteurs standards : stdin (0) stdout (1) stderr (2)

Seulement 5 fonctions (sous UNIX/LINUX): creat open read write close Accès bas niveau Seulement 5 fonctions (sous UNIX/LINUX): creat open read write close

Accès haut niveau Approche dite de haut niveau où l’on considère le fichier comme un ensemble de blocs structurés. L'accès est indépendant du système (les fonctions utilisées sont standard quelquesoit le système d'exploitation).

Accès haut niveau La structure la plus simple est un fichier texte. Lorsque le fichier est constitué de bloc de données de même type, c’est un fichier d’enregistrement. On y accède par bloc et non, octet par octet.

Accès haut niveau L'accès ne se fait plus par le nom logique du fichier (descripteur), mais via un pointeur de type FILE *.

Accès haut niveau Ouverture/création : fopen Lecture Caractère : fgetc Chaine : fgets Type particulier : fscanf Bloc : fread

Accès haut niveau Ecriture Caractère : fputc Chaine : fputs Type particulier : fprintf Bloc : fwrite Fermeture : fclose

Gestion des erreurs La plupart des fonctions d'ouverture, de lecture ou d'écriture mettent à jour une variable particulière en cas d'erreur. Cette variable fait partie de la bibliothèque <errno.h> et se nomme errno et contient de numéro de l'erreur.

Gestion des erreurs Voici un exemple d'utilisation: int fd; fd = open( "/home/unfichier.txt", O_RDWR ); if ( fd == -1 ) // pb ouverture fichier { printf( "%s\n", strerror( errno ) ); exit( errno ); } Afficher le message d'erreur correspondant au numéro errno

LES IMPERATIFS Toutes les fonctions de manipulations de fichiers retournent une valeur. Cette dernière doit OBLIGATOIREMENT être testée afin de savoir si l'opération sur le fichier s'est effectuée correctement.