Pour ouvrir un fichier stream, utilisez l'API open(). Elle accepte des paramètres qui indiquent au système le fichier à ouvrir et comment l'ouvrir, puis elle renvoie un descripteur de fichier pour que vous puissiez utiliser le fichier stream avec les autres API. La figure 2 montre le prototype pour l'API
L’API open()
open(). Les paramètres que
vous pouvez transmettre à l’API
open() sont les suivants :
- Path – Ce paramètre indique
le nom de chemin du fichier que
vous voulez ouvrir. Un nom de
chemin est un nom de fichier
avec zéro ou plus noms de répertoires
en préfixe. Chaque nom de
répertoire est séparé par le caractère
barre oblique. Si un nom de
chemin commence par une barre
oblique, c’est qu’il démarre au répertoire
racine de l’IFS ; dans le
cas contraire, il démarre de votre
répertoire courant. - OpenFlags – Ce paramètre
fournit à l’API open() des informations
sur les modalités d’ouverture
du fichier. Tout comme les fichiers base de données en RPG,
un fichier stream peut être ouvert pour
l’entrée (read-only), la sortie (writeonly)
ou la mise à jour (read and
write). Vous pouvez aussi donner
d’autres précisions : un fichier doit-il
être créé s’il n’existe pas, doit-il être effacé
s’il existe, doit-il être traduit vers
ou à partir d’un autre CCSID, ou doit-il
être partagé avec d’autres programmes.
Ce paramètre est de type indicateur
binaire et il sera décrit plus en
détail dans la suite de cet article. - Mode – Ce paramètre sert à indiquer
le degré d’autorité des autres utilisateurs
sur ce fichier s’ils l’ouvrent.
C’est un paramètre binaire et il est
ignoré si le fichier existe déjà . - CCSID – Si le fichier stream que je
suis en train d’ouvrir n’existe pas, ce
paramètre spécifie le CCSID qui devrait
être attribué à ce fichier. - Txtcreatid – Ce paramètre spécifie
le CCSID dans lequel les données
sont renvoyées par des opérations de
lecture, ou fournies aux opérations
d’écriture, quand le fichier est ouvert
comme un fichier texte.
L’API open() renverra un descripteur
de fichier si elle réussit. Si elle
échoue, elle renverra un -1 et définira
la valeur errno.
En figure 1, l’API open() ouvre un
fichier appelé hello.txt qui réside dans
le répertoire tmp de l’IFS. L’indicateur
O_CREAT indique que le fichier sera
créé s’il n’existe pas déjà , et l’indicateur
O_TRUNC qu’il sera effacé (tronqué)
s’il existe. L’indicateur O_WRONLY
dit à l’API open() que le fichier doit
être ouvert pour la sortie uniquement.
La constante M_RDWR ordonne à l’API
d’autoriser d’autres utilisateurs à accéder
à l’API pour la lecture et l’écriture.
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Le trilemme de la souveraineté : le coût caché du cloud qui freine l’IA en Europe
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Semperis : gouverner l’identité à l’ère des agents IA
- Analyse Patch Tuesday Mars 2026
Articles les + lus
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
Moderniser le développement logiciel : de la fragmentation à l’intégration
Analyse Patch Tuesday Mars 2026
Une nouvelle ère de la modernisation du mainframe
Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
À la une de la chaîne Tech
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
- Moderniser le développement logiciel : de la fragmentation à l’intégration
- Analyse Patch Tuesday Mars 2026
- Une nouvelle ère de la modernisation du mainframe
- Communes, entreprises ? Non, face au RGAA 5, l’IA seule ne rendra pas vos sites accessibles
