Sommaire

Ouverture/fermeture d’un fichier

Pour pouvoir accéder au contenu d’un fichier, un processus doit disposer d’un descripteur de fichier associé à ce fichier, descripteur obtenu par l’ouverture du fichier.

1. Appel système open()

L’appel système open() permet à un processus de demander au noyau l’ouverture du fichier dont il lui passe le chemin d’accès en argument. Si le fichier n’existe pas, il peut éventuellement être créé, en fonction des paramètres d’ouverture spécifiés lors de l’appel système.

Le noyau traite la demande d’ouverture, en contrôlant les droits d’accès du processus sur le fichier spécifié par rapport au type d’accès demandé (lecture, écriture, avec ou sans création).

Si l’ouverture réussit, le noyau ajoute une nouvelle entrée dans la table des fichiers ouverts du processus, dans celle des descripteurs ouverts et dans celle des fichiers ouverts (sauf si le fichier était déjà ouvert).

L’appel système retourne le descripteur de fichier correspondant.

Syntaxe

#include <fcntl.h> 
int open(const char *path, int oflag, mode_t mode);

L’appel système attend au moins deux arguments. Le troisième n’est utilisé que si le fichier doit être créé.

Arguments

path

Chemin d’accès du fichier à ouvrir. S’il ...