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 :

la fonction opendir


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Par défaut la fonction opendir
    Bonsoir à tous!

    J'ai quesques difficultés avec ce programmes:

    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
    #include <stdio.h>
    #include <sys/types.h>
    #include <dirent.h>
     
    int main(void)
    {
       struct dirent *lecture;
       DIR *rep;
       rep = opendir("/tmp");
       while ((lecture = readdir(rep)))
       {
          printf("FICHIER: %s\n", lecture->d_name);
       }
       closedir(rep);
     
       return 0;
    }
    Questions:
    1)a quoi servent les librairies sys/types et dirent?
    2)lecure = readdir: un pointeur = une commande???
    3)ou est ce ke dans tout ça je mentionne le directory a parcourir?

    Merci d'avance pour votre aide


  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 391
    Par défaut
    1. Je ne vois pas de library/bibliothèque ici. Des fichiers d'en-tête, par contre...
    2. pointeur = résultat d'une fonction. Le while vérifie si le résultat de l'affectation (cad, le pointeur) est non-nul.
    3. opendir().
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Citation Envoyé par thepinguin
    Questions:
    1)a quoi servent les librairies sys/types et dirent?
    Ce n'est pas une librairie/bibliothèque mais un fichier header.

    A savoir que c'est un fichier que tu peux trouver dans ton répertoire include favori et que tu peux tranquillement aller l'ouvrir avec ton éditeur de texte favori pour voir ce qu'il y a dedans.

    Généralement, un fichier .h sert à déclarer :

    - Des structures/unions
    - Des fonctions
    - Des constantes
    - Des macros

    Jc

  4. #4
    Membre chevronné Avatar de Tchetch
    Inscrit en
    Mars 2002
    Messages
    401
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 401
    Par défaut
    Citation Envoyé par man 3 opendir
    OPENDIR(3) Manuel du programmeur Linux OPENDIR(3)

    NOM
    opendir - Ouvrir un répertoire

    SYNOPSIS
    #include <sys/types.h>
    #include <dirent.h>

    DIR *opendir(const char *nom);

    DESCRIPTION
    La fonction opendir() ouvre un flux répertoire correspondant au réper-
    toire nom, et renvoie un pointeur sur ce flux. Le flux est positionné
    sur la première entrée du répertoire.

    VALEUR RENVOYÉE
    La fonction opendir() renvoie un pointeur sur le flux répertoire. Si
    une erreur se produit, NULL est renvoyé, et errno contient le code
    d'erreur.

  5. #5
    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 thepinguin
    Bonsoir à tous!
    Questions:
    1)a quoi servent les librairies sys/types et dirent?
    2)lecure = readdir: un pointeur = une commande???
    3)ou est ce ke dans tout ça je mentionne le directory a parcourir?
    Oula toi ta copie/colle un code et tu sais pas a quoi il sert.

    On est bien d'accord que ce code est pour un systeme Unix (/tmp).

    Ici c'est /tmp que tu vas parcourir.

    1). Ce ne sont pas de librairies mais des fichiers d'en-tetes qui contiennent (entre autres) les prototypes des fonctions, ainsi que les declarations des structures.

    2). readdir retourne un pointeur c'est tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    struct dirent * readdir (DIR * dir);
    3). Ben dans opendir


Discussions similaires

  1. Réponses: 3
    Dernier message: 19/12/2009, 11h49
  2. erreur avec fonction opendir()
    Par Décibel dans le forum Langage
    Réponses: 8
    Dernier message: 10/09/2008, 07h31
  3. Réponses: 15
    Dernier message: 26/03/2008, 19h52
  4. fonction opendir suivie de traitement
    Par apprenti doc dans le forum Langage
    Réponses: 9
    Dernier message: 25/04/2007, 13h14
  5. [Configuration] Activé la fonction opendir avec un script php
    Par bsm2006 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 24/02/2007, 04h19

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