Retour
Cours précédent
Cours suivant

Ouverture de fichier

int open(const char *path, int oflag, ...)

hexdump : affiche le code binaire d’un fichier -C affiche les bits au format hexadecimal

fd = open(file.txt, O_RDONLY)
Dans l’ordre :

i-node table et opened files table sont dans le noyau.
files descriptor table est dans la partie noyau du processus.

Lecture d’un fichier

ssize_t read(int fildes, void *buf, size_t size)

A chaque lecture, l’offset est déplacé. Il n’est pas remis à zéro à chaque fin de lecture.

Ecriture d’un fichier

Un fichier est automatiquement agrandi lorsqu’on écrit dedans.

Structure de donnée

Ascii representation

Convertir int en string et écrire dans un fichier.
Il faut choisir un séparateur.

+ lecture comme du texte
+ portable

- trouver le séparateur
- convertir string en int

Binary representation

Enregistre les nombres sous leur forme d’adresse binaire.

+ lecture/écriture rapide

- pas portable

File descriptor déjà ouvert

0 : STDIN_FILENO
1 : STDOUT_FILENO
2 : STDERR_FILENO

Usuellement, ils pointent tous sur la même position de la i-node table mais pas avec les mêmes droits.

Utilité de faire deux open ?
-> permet d’avoir deux offsets indépendants sur le même fichier.


Retour
Cours précédent
Cours suivant