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
Comment lutter contre le Phishing ?
Dans un environnement cyber en constante mutation, le phishing évolue vers des attaques toujours plus sophistiquées combinant IA, automatisation et industrialisation. Une réalité complexe qui exige des mesures de sécurité avancées et repensées au-delà de l’authentification multifacteur. Découvrez les réponses technologiques préconisées par les experts Eviden et les perspectives associées à leur mise en œuvre.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Les entreprises, victimes des coûts cachés des attaques de ransomwares
- Tendances des budgets des DSI en 2025
- Révolutionner la gestion du stockage à l’ère de l’IA et de la transformation numérique : vers une infrastructure agile et automatisée
- Multicloud Computing : Êtes-vous prêt pour la prochaine nouvelle vague informatique ?
- IA : les PME devraient adopter des outils NoCode appropriés