Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Manipulation des fichiers en C


Sujet :

C

  1. #1
    Expert éminent
    Manipulation des fichiers en C
    Tutoriel : Manipulation des fichiers en C
    La manipulation des fichiers en langage C est relativement simple mais nécessite une bonne compréhension des principes qui sont à leur base. C'est ce que ce tutoriel va tenter de vous expliquer.
    A vos commentaires !

  2. #2
    Rédacteur

    J'aurais introduit le tout en disant que l'on pouvait accéder/manipuler les fichier par 2 interfaces (juste avant I-C)
    • Une interface bas niveau dont le descripteur de fichier est un int et qui est fait plutôt pour manipuler des fichiers binaires (bien que l'on puisse manipuler des fichiers textes avec). Exemple de fontions open(), close(), read(), write().
    • Une interface plus haut niveau (reposant probablement sur l'interface précédente) dont le descripteur de fichier est un FILE * et qui est plutôt fait pour manipuler des fichiers textes (bien que l'on puisse manipuler des fichiers binaires avec). De plus, cette interface est bufferisée afin d'optimiser les besoins en termes d'accès. Exemple de fontions fopen(), fclose(), fread(), fwrite().
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Expert éminent
    Citation Envoyé par ram-0000 Voir le message
    J'aurais introduit le tout en disant que l'on pouvait accéder/manipuler les fichier par 2 interfaces (juste avant I-C)
    • Une interface bas niveau dont le descripteur de fichier est un int et qui est fait plutôt pour manipuler des fichiers binaires (bien que l'on puisse manipuler des fichiers textes avec). Exemple de fontions open(), close(), read(), write().
    • Une interface plus haut niveau (reposant probablement sur l'interface précédente) dont le descripteur de fichier est un FILE * et qui est plutôt fait pour manipuler des fichiers textes (bien que l'on puisse manipuler des fichiers binaires avec). De plus, cette interface est bufferisée afin d'optimiser les besoins en termes d'accès. Exemple de fontions fopen(), fclose(), fread(), fwrite().
    C'est ce que je pense voir fait avec :
    Les entrées/sorties (E/S) ne font pas vraiment partie du langage C car ces opérations sont dépendantes du système. Cela signifie que pour réaliser des opérations d'entrée/sortie en C, il faut en principe passer par les fonctionnalités offertes par le système. Néanmoins sa bibliothèque standard est fournie avec des fonctions permettant d'effectuer de telles opérations afin de faciliter l'écriture de code portable. Les fonctions et types de données liées aux entrées/sorties sont principalement déclarés dans le fichier stdio.h (standard input/output).
    (Source : Initiation au langage C > Les E/S en langage C > Introduction.)
    Et :
    Les entrées/sorties (E/S) ne font pas partie du langage C car ces opérations sont dépendantes du système. Néanmoins puisqu'il s'agit de tâches habituelles, sa bibliothèque standard est fournie avec des fonctions permettant de réaliser ces opérations de manière portable. Ces fonctions sont principalement déclarées dans le fichier stdio.h. Certaines ont déjà été présentées dans les tutoriels précédents (notamment ici), de même que quelques concepts relatifs aux entrées/sorties en langage C. Aucun rappel ne sera fait, sauf sur certains concepts jugés importants.
    (Source : Manipulation des fichiers en C > Généralités > La notion de flux)

    Je n'ai cependant pas jugé nécessaire de prendre des exemples concrets de fonctions de bas niveau (open et co. sous UNIX, CreateFile et co. sous Windows, fonctions je ne sais plus de int 21h sous DOS, etc.) car ce n'est pas indispensable, à mon avis, pour la compréhension du cours.

###raw>template_hook.ano_emploi###