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

Accès aux fichiers en C.

Présentations similaires


Présentation au sujet: "Accès aux fichiers en C."— Transcription de la présentation:

1 Accès aux fichiers en C

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

3 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.

4 Principe Ouverture Traitement Fermeture

5 Principe Ouverture Lecture Ecriture Ajout Création Traitement
Fermeture

6 Principe Ouverture Lecture Ecriture Ajout Création Traitement
Fermeture

7 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)

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

9 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

10 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).

11 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.

12 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 *.

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

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

15 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.

16 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

17 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.


Télécharger ppt "Accès aux fichiers en C."

Présentations similaires


Annonces Google