Fichiers en C

Un système de fichier est composé de...fichiers. La libc propose une grande variété de fonction permettant de les manipuler.

Dans le monde unix, un fichier peut être beaucoup de choses. Nous y reviendrons. Pour l'instant nous nous contenterons de manipuler les éléments les plus représentatifs d'un système de fichiers :

Contrôle du système de fichier

Les fichiers <unistd.h> et <sys/stat.h> définissent des fonctions permettant de contrôler le système de fichier.

Certaines fonctions permettent de controller le dossier courant du programme C :

TBD getcwd : comment est stocké le résultat et le type de retour.

D'autres de créer ou de supprimer des dossiers :

- mkdir - rmdir

Et enfin les dernières les permissions des fichiers et si besoin les modifier :

TBD stat et mkdir pour check et créer un dossier.

Structure FILE

Un fichier "régulier"

Bufferisé pour la rapidité : attention au flush.

Entrées et sorties formatées

stdin/out

test avec un PID dun autre process et envoie du texte dans le stdin d'au autre process faire avec 1 fichier C et une commande, puis avec 2 fichiers C.

stdin/out

TBD

aussi getwchar ?


#include <stdio.h>

// ...

while ((c = getchar()) != EOF) {
    putchar(c);
}
  
#include <stdio.h>
FILE *fp = stdin; // ou tout autre fichier
char c;

// ...

while ((c = getc(fp)) != EOF) {
    putc(c, stdout);
}