Sommaire

Gestion des fichiers ouverts Fichier:ouvert

Une fois un fichier ouvert, associé à un descripteur de fichier, on peut gérer certaines de ses caractéristiques par l’appel système fcntl(). Les fonctionnalités de l’appel dépendent du type de fichier ouvert. Certaines caractéristiques ne sont pas modifiables.

Syntaxe

#include <fcntl.h> 
int fcntl(int fd, int cmd, ... [arg]);

Arguments

fd

Descripteur du fichier

cmd

Opération à effectuer

arg

Argument optionnel, dépendant de l’opération à effectuer

Valeur retournée

-1

Erreur, code erreur positionné dans la variable errno

!= -1

Succès, valeur variable selon l’opération effectuée

Description

L’appel système permet de spécifier différentes opérations sur un fichier ouvert, soit pour obtenir des informations, soit pour modifier certaines d’entre elles. Les opérations possibles sont, entre autres :

F_GETFL

Obtenir les options du fichier ouvert

F_SETFL

Modifier les options du fichier ouvert

D’autres opérations sont possibles, nous les étudierons ultérieurement.

1. Obtenir les options d’ouverture

L’opération F_GETFL permet d’obtenir les options d’ouverture du fichier associé au descripteur, par exemple : F_GETFL

int flags, accessMode; 
flags = fcntl(fd, F_GETFL);

Dans ce cas, l’appel système fcntl() retourne un entier, résultant ...