Créer un fichier

Problème

Vous voulez créer un fichier, éventuellement vide.

Solution

Utilisez open() ou fopen() selon vos besoins.

Discussion

Les fonctions open() et fopen() permettent de créer des fichiers si les bons arguments sont indiqués. open(fichier, O_CREAT|O_WRONLY) va créer le fichier, s’il n’existe pas déjà. open(fichier, O_CREAT | O_WRONLY | O_TRUNC) crée le fichier, en le vidant s’il existait déjà. De la même manière, fopen(fichier, "a") crée le fichier s’il n’existe pas déjà, et fopen(fichier, "w") le crée, en le vidant s’il existait déjà. Un appel à open(fichier, O_CREAT | O_EXCL) crée un fichier de façon dite exclusive. En effet, si le fichier existe déjà, ou s’il ne peut être créé, l’appel retourne une erreur. La norme C11 permet d’effectuer cet appel avec fopen(fichier, "x").

Les permissions peuvent être définies avec open() en troisième argument. C’est un OU logique des macros définies dans la recette précédente. Elles sont en lecture, écriture et exécution pour tout le monde lorsque nous utilisons fopen(). Ces permissions sont finalement modifiées, pour open() comme fopen(), par le masque de permissions fixé par umask().

La création de fichiers sans se préoccuper du contenu sert surtout...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Modifier la date de dernière modification d'un fichier
Suivant
Renommer un fichier