IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

opendir() et mkdir


Sujet :

C

  1. #1
    IDE
    IDE est déconnecté
    Membre régulier Avatar de IDE
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 238
    Points : 89
    Points
    89
    Par défaut opendir() et mkdir
    Bonsoir à tous, je dois tester si un répertoire existe déjà ou pas, si il n'existe pas je dois le créer, j'ai trouvé ici ces deux fonctions

    opendir() et mkdir(), mais je ne vois pas comment elle s'utilise, je ne vois pas ou mettre le chemin de mon repertoire, merci pour vos réponses.

    Michael.

  2. #2
    IDE
    IDE est déconnecté
    Membre régulier Avatar de IDE
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 238
    Points : 89
    Points
    89
    Par défaut Suite
    Je pense avoir trouvé une solution, mais je suppose qu'il y a moyen de l'optimiser.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    #include <dir.h>
    #include <dirent.h>
    #include <stdio.h>
     
     
    void demarrage(char *dirname)
    {
     
    char rep;
    dirname = "c:/cry";
     
     
     if ( opendir(dirname) == NULL )
     {
     
       printf("Voulez-vous creer un repertoire [O] ou [N] : ");
        scanf("%c",&rep);
     
         if ( rep == 'O' || 'o' )
     
          {
     
             mkdir(dirname);
     
          }
     }
     
      else
       {
     
        printf("Le repertoire existe déja");
     
       }
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 38
    Points : 44
    Points
    44
    Par défaut
    Voici une autre solution basée sur la fonction stat qui permet d'obtenir des informations sur un fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <unistd.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <errno.h>
     
    int main (int argc, char **argv)
    {
      int res;
      struct stat status;
     
      if ( argc != 2)
      {
        fprintf(stderr, "il faut passer le nom du repertoire en parametre\n");
        return 1;
      }
     
      res = stat(argv[1],&status);
     
      if (res != 0)
      {
        if (errno == ENOENT)
        {
          fprintf(stderr, "%s n'existe pas\n", argv[1]);
        }
        else
        {
          fprintf(stderr, "stat %s donne %s\n", argv[1], strerror(errno));
        }
        return 2;
      }
     
      if (status.st_mode & S_IFDIR)
      {
        printf("%s est un reprertoire existant\n", argv[1]);
      }
      else
      {
        printf("%s n'est pas reprertoire\n", argv[1]);
      }
      return 0;
    }

Discussions similaires

  1. Images random vs opendir
    Par Pleymo dans le forum Langage
    Réponses: 3
    Dernier message: 23/11/2005, 08h37
  2. Opendir + accès réseau local
    Par Lucier dans le forum Langage
    Réponses: 4
    Dernier message: 16/11/2005, 11h58
  3. [File][mkdir()] créer un répertoire
    Par FFF dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 25/10/2005, 21h23
  4. pb opendir sur repertoire sur serveur distant
    Par nanou40 dans le forum Langage
    Réponses: 22
    Dernier message: 10/10/2005, 15h45
  5. [Sécurité] probleme d'acces en reseau local avec OPENDIR()
    Par babycracker dans le forum Langage
    Réponses: 3
    Dernier message: 28/09/2005, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo