• Aucun résultat trouvé

La fonctionopen()a deux profils : avec 2 ou 3 paramètres.

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

int open(const char *pathname, int flags) ; int open(const char *pathname, int flags, mode_t mode) ;

Valeur retournée : descripteur de fichier ou -1 en cas d’erreur.

Primitive open()

La fonctionopen()a deux profils : avec 2 ou 3 paramètres.

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

int open(const char *pathname, int flags) ; int open(const char *pathname, int flags, mode_t mode) ;

Valeur retournée : descripteur de fichier ou -1 en cas d’erreur.

Primitive open()

La fonctionopen()a deux profils : avec 2 ou 3 paramètres.

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

int open(const char *pathname, int flags) ; int open(const char *pathname, int flags, mode_t mode) ;

Valeur retournée : descripteur de fichier ou -1 en cas d’erreur.

Cette primitive permet d’ouvrir (ou de créer) le fichier de nom pathname.L’entierflagsdétermine le mode d’ouverture du fichier. Le paramètre optionnelmoden’est utilisé que lorsque open()réalise la création du fichier.Dans ce cas, il indique pour celui-ci les droits d’accès donnés à l’utilisateur, à son groupe et au reste du monde. Le paramètreflagspeut prendre une ou plusieurs des constantes symboliques (qui sont dans ce cas séparées par des

“|”), définies dans le fichier d’inclusionfcntl.h.

Cette primitive permet d’ouvrir (ou de créer) le fichier de nom pathname. L’entierflagsdétermine le mode d’ouverture du fichier.Le paramètre optionnelmoden’est utilisé que lorsque open()réalise la création du fichier. Dans ce cas, il indique pour celui-ci les droits d’accès donnés à l’utilisateur, à son groupe et au reste du monde.Le paramètreflagspeut prendre une ou plusieurs des constantes symboliques (qui sont dans ce cas séparées par des

“|”), définies dans le fichier d’inclusionfcntl.h.

Cette primitive permet d’ouvrir (ou de créer) le fichier de nom pathname. L’entierflagsdétermine le mode d’ouverture du fichier. Le paramètre optionnelmoden’est utilisé que lorsque open()réalise la création du fichier.Dans ce cas, il indique pour celui-ci les droits d’accès donnés à l’utilisateur, à son groupe et au reste du monde. Le paramètreflagspeut prendre une ou plusieurs des constantes symboliques (qui sont dans ce cas séparées par des

“|”), définies dans le fichier d’inclusionfcntl.h.

Cette primitive permet d’ouvrir (ou de créer) le fichier de nom pathname. L’entierflagsdétermine le mode d’ouverture du fichier. Le paramètre optionnelmoden’est utilisé que lorsque open()réalise la création du fichier. Dans ce cas, il indique pour celui-ci les droits d’accès donnés à l’utilisateur, à son groupe et au reste du monde.Le paramètreflagspeut prendre une ou plusieurs des constantes symboliques (qui sont dans ce cas séparées par des

“|”), définies dans le fichier d’inclusionfcntl.h.

Cette primitive permet d’ouvrir (ou de créer) le fichier de nom pathname. L’entierflagsdétermine le mode d’ouverture du fichier. Le paramètre optionnelmoden’est utilisé que lorsque open()réalise la création du fichier. Dans ce cas, il indique pour celui-ci les droits d’accès donnés à l’utilisateur, à son groupe et au reste du monde. Le paramètreflagspeut prendre une ou plusieurs des constantes symboliques (qui sont dans ce cas séparées par des

“|”), définies dans le fichier d’inclusionfcntl.h.

Les valeurs possibles desflagssont les suivantes :

O_RDONLYouverture en lecture seule ; O_WRONLYouverture en écriture seule ; O_RDWRouverture en lecture et écriture ;

O_APPENDouverture en écriture à la fin du fichier (ajout en fin de fichier) ;

O_CREATcréation du fichier s’il n’existe pas ;

O_TRUNCtroncature à la longueur zéro (vider) si le fichier existe déjà ;

O_NONBLOCKouverture non bloquante : s’il n’y a rien à lire, on n’attend pas.

Les valeurs possibles desflagssont les suivantes :

O_RDONLYouverture en lecture seule ; O_WRONLYouverture en écriture seule ; O_RDWRouverture en lecture et écriture ;

O_APPENDouverture en écriture à la fin du fichier (ajout en fin de fichier) ;

O_CREATcréation du fichier s’il n’existe pas ;

O_TRUNCtroncature à la longueur zéro (vider) si le fichier existe déjà ;

O_NONBLOCKouverture non bloquante : s’il n’y a rien à lire, on n’attend pas.

Les valeurs possibles desflagssont les suivantes :

O_RDONLYouverture en lecture seule ; O_WRONLYouverture en écriture seule ; O_RDWRouverture en lecture et écriture ;

O_APPENDouverture en écriture à la fin du fichier (ajout en fin de fichier) ;

O_CREATcréation du fichier s’il n’existe pas ;

O_TRUNCtroncature à la longueur zéro (vider) si le fichier existe déjà ;

O_NONBLOCKouverture non bloquante : s’il n’y a rien à lire, on n’attend pas.

Les valeurs possibles desflagssont les suivantes :

O_RDONLYouverture en lecture seule ; O_WRONLYouverture en écriture seule ; O_RDWRouverture en lecture et écriture ;

O_APPENDouverture en écriture à la fin du fichier (ajout en fin de fichier) ;

O_CREATcréation du fichier s’il n’existe pas ;

O_TRUNCtroncature à la longueur zéro (vider) si le fichier existe déjà ;

O_NONBLOCKouverture non bloquante : s’il n’y a rien à lire, on n’attend pas.

Les valeurs possibles desflagssont les suivantes :

O_RDONLYouverture en lecture seule ; O_WRONLYouverture en écriture seule ; O_RDWRouverture en lecture et écriture ;

O_APPENDouverture en écriture à la fin du fichier (ajout en fin de fichier) ;

O_CREATcréation du fichier s’il n’existe pas ;

O_TRUNCtroncature à la longueur zéro (vider) si le fichier existe déjà ;

O_NONBLOCKouverture non bloquante : s’il n’y a rien à lire, on n’attend pas.

Les valeurs possibles desflagssont les suivantes :

O_RDONLYouverture en lecture seule ; O_WRONLYouverture en écriture seule ; O_RDWRouverture en lecture et écriture ;

O_APPENDouverture en écriture à la fin du fichier (ajout en fin de fichier) ;

O_CREATcréation du fichier s’il n’existe pas ;

O_TRUNCtroncature à la longueur zéro (vider) si le fichier existe déjà ;

O_NONBLOCKouverture non bloquante : s’il n’y a rien à lire, on n’attend pas.

Les valeurs possibles desflagssont les suivantes :

O_RDONLYouverture en lecture seule ; O_WRONLYouverture en écriture seule ; O_RDWRouverture en lecture et écriture ;

O_APPENDouverture en écriture à la fin du fichier (ajout en fin de fichier) ;

O_CREATcréation du fichier s’il n’existe pas ;

O_TRUNCtroncature à la longueur zéro (vider) si le fichier existe déjà ;

O_NONBLOCKouverture non bloquante : s’il n’y a rien à lire, on n’attend pas.

Les valeurs possibles desflagssont les suivantes :

O_RDONLYouverture en lecture seule ; O_WRONLYouverture en écriture seule ; O_RDWRouverture en lecture et écriture ;

O_APPENDouverture en écriture à la fin du fichier (ajout en fin de fichier) ;

O_CREATcréation du fichier s’il n’existe pas ;

O_TRUNCtroncature à la longueur zéro (vider) si le fichier existe déjà ;

O_NONBLOCKouverture non bloquante : s’il n’y a rien à lire, on n’attend pas.

SiO_CREATest positionné, alors il faut préciser les permissions en utilisant les mêmes constantes symboliques demodeque pour creatou bien les notations hexadécimales usuelles.

Exemple :

Pour effectuer la création et l’ouverture du fichier “essai_open” en écriture avec les autorisations de lecture et écriture pour le

propriétaire et le groupe, il faut écrire :

if ((fd = open("essai_open" , O_WRONLY | O_CREAT, 0660)) == -1)

perror("Erreur open()") ;

Remarque : l’inclusion du fichier<sys/types.h>est nécessaire, car des types utilisés dans<fcntl.h>y sont définis.

Exemple :

Pour effectuer la création et l’ouverture du fichier “essai_open” en écriture avec les autorisations de lecture et écriture pour le

propriétaire et le groupe, il faut écrire :

if ((fd = open("essai_open" , O_WRONLY | O_CREAT, 0660)) == -1)

perror("Erreur open()") ;

Remarque : l’inclusion du fichier<sys/types.h>est nécessaire, car des types utilisés dans<fcntl.h>y sont définis.

Exemple :

Pour effectuer la création et l’ouverture du fichier “essai_open” en écriture avec les autorisations de lecture et écriture pour le

propriétaire et le groupe, il faut écrire :

if ((fd = open("essai_open" , O_WRONLY | O_CREAT, 0660)) == -1)

perror("Erreur open()") ;

Remarque : l’inclusion du fichier<sys/types.h>est nécessaire, car des types utilisés dans<fcntl.h>y sont définis.

Exemple :

Pour effectuer la création et l’ouverture du fichier “essai_open” en écriture avec les autorisations de lecture et écriture pour le

propriétaire et le groupe, il faut écrire :

if ((fd = open("essai_open" , O_WRONLY | O_CREAT, 0660)) == -1)

perror("Erreur open()") ;

Remarque : l’inclusion du fichier<sys/types.h>est nécessaire, car des types utilisés dans<fcntl.h>y sont définis.

Documents relatifs