Créer un répertoire

Problème

Vous voulez créer un répertoire.

Solution

Utilisez mkdir().

Discussion

Pour créer un répertoire, mkdir() fait le nécessaire, avec les permissions indiquées en second argument. Mettez par exemple la valeur octale 0755 pour un répertoire accessible à tout le monde en lecture, mais seulement à son propriétaire en lecture et écriture. Voyez la recette "Obtenir des informations sur un fichier" pour les macros correspondant aux permissions, que nous pouvons combiner avec un OU logique. Prenons un exemple d’un répertoire accessible uniquement à son créateur :


mkdir ("repertoire", S_IRWXU);
 

S’il s’agit de créer une arborescence, en d’autres termes un répertoire contenu dans des sous-répertoires à créer aussi de manière récursive, il faut parcourir tous les répertoires du chemin spécifié et créer ceux qui n’existent pas encore.


#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <sys/types.h> 
#include <sys/stat.h> 
#include <errno.h> 
 
int 
mkdir_p (const char *path, mode_t mode) 
{ 
  char *d = strdup (path); 
  int i, len; 
  len = strlen (path); 
  for (i = 1; i < len; i++) 
    { 
      if ('/' == d[i]) 
        { 
          d[i] = '\0'; 
          if (mkdir (d, mode) &&...
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
Supprimer un fichier
Suivant
Créer un lien symbolique