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()


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 163
    Par défaut opendir()
    Je voudrais savoir si dans un opendir, il faut passer simplement le nom du répertoire à ouvrir ou faut il lui passer le chemin+nom du repertoire?

    Merci

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par theshark85
    Je voudrais savoir si dans un opendir, il faut passer simplement le nom du répertoire à ouvrir ou faut il lui passer le chemin+nom du repertoire?

    Merci

    Il faut tout lui donner par exemple
    opendir("/usr/share/doc");

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 163
    Par défaut
    Oki merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 163
    Par défaut
    Ben j'ai pas du comprendre un truc.
    Je veux tester si le répertoire existe, si c'est le cas, j'en cree un nouveau avec un autre nom, et s'il existe pas on le cree.

    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
     
    DIR *dirlog;
     
    /*recherche d'existance*/
       for(i=0;dirlog!=NULL;i++)
       { 
        sprintf(PATH_LOG,"%s/LOGv%d_%s",trimCRLF(PATH_MAIN),i,argv[2]);
        dirlog=opendir(PATH_LOG);
        i++;
       }
     
    /*test bidon*/
        if(dirlog!=NULL)
            printf("Fichier existant\n");
        else
             printf("Fichier inexistant\n");
     
    /*Creation du repertoire*/
        sprintf(PATH_LOG,"mkdir \"%s/LOGv%d_%s",trimCRLF(PATH_MAIN),i,argv[2]);
        system(PATH_LOG);
     
    /*creation du chemin du log*/    
        sprintf(PATH_LOG,"%s/LOGv%d_%s",trimCRLF(PATH_MAIN),i,argv[2]);
        printf("PATH_LOG  =>%s\n",PATH_LOG);
    Mon probléme, la boucle de recherche ne fonctionne pas. Si j'ai des déjà le répertoire de crée, elle le réecrase quand meme.

  5. #5
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 787
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 787
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /*recherche d'existance*/
       for(i=0;dirlog!=NULL;i++)
       { 
        sprintf(PATH_LOG,"%s/LOGv%d_%s",trimCRLF(PATH_MAIN),i,argv[2]);
        dirlog=opendir(PATH_LOG);
        i++;
       }
    Ca, pour commencer, c'est un FOR génétiquement modifié... soit tu fais un FOR et dans ce tu ne géres pas le compteur de boucle dans le bloc d'instructions.

    Soit tu fais un "while" et dans ce cas tu peux gérer un compteur.

    ici i est incrémenté 2 fois ... for(; ;i++)
    et i++;}




    ... ensuite dans le IF, la 2ème condition est la condition de sortie. Ici, ton if ne sort que ... quand

    Du coup dans "test bidon"

    est toujours faux, et tu passes toujours dans le ELSE... donc tu écrases tout le temps.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 163
    Par défaut
    Mais son des test bidon, qui ne doivent avoir aucune utilite que pour savoir ce que ça fait pour moi meme.

    Ce que je veux, c'ets que quand ça de la recherche j'ai le nouveau i, qui est la nouvelle evrsion du repertoire.


    J'avais pas vu en postant que j'avais oublie le Car j'ai aussi essayé avec un do while, et pareil, meme comportement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DIR *dirlog;
       i=0;
       do
       { 
        sprintf(PATH_LOG,"%s/LOGv%d_%s",trimCRLF(PATH_MAIN),i,argv[2]);
        dirlog=opendir(PATH_LOG);
        i++;
       }
       while(dirlog!=NULL);
    Et sinon pour mon for, je sais qu'il etai genetiquement modifie. Mais bon ça fait un petit moment que je me prend la tete dessus, et doit y avoir un truc qui m'échappe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [intermédiaire][TOpenDialog] conflit avec opendir
    Par thecaptain dans le forum C++Builder
    Réponses: 9
    Dernier message: 21/12/2005, 02h50
  2. Images random vs opendir
    Par Pleymo dans le forum Langage
    Réponses: 3
    Dernier message: 23/11/2005, 08h37
  3. Opendir + accès réseau local
    Par Lucier dans le forum Langage
    Réponses: 4
    Dernier message: 16/11/2005, 11h58
  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