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 :

Recuperer noms de fichiers dans un tableau


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Recuperer noms de fichiers dans un tableau
    j'utilise le code suivant pour lister les fichiers d'un dossier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    WIN32_FIND_DATA File;
    HANDLE hSearch;
        hSearch = FindFirstFile("c1/*.*", &File);
        if (hSearch != INVALID_HANDLE_VALUE)
        {
            do {
                printf("%s\n", File.cFileName);
            } while (FindNextFile(hSearch, &File));
            FindClose(hSearch);
        }
    et je voudrai savoir comment faire pour recuperer les noms de ces fichiers dans un tableau ? merci d'avance pour votre aide..

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par epsilone15 Voir le message
    et je voudrai savoir comment faire pour recuperer les noms de ces fichiers dans un tableau ? merci d'avance pour votre aide..
    En faisant une copie ?
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    bonjour emmanuel, merci de repondre,
    oui je voudrai copier les noms dans un tableau.. je vois pas comment je peut le faire.. si vous pouvez m'aider sur ca merci

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 373
    Points : 23 629
    Points
    23 629
    Par défaut
    Citation Envoyé par epsilone15 Voir le message
    bonjour emmanuel, merci de repondre,
    oui je voudrai copier les noms dans un tableau.. je vois pas comment je peut le faire.. si vous pouvez m'aider sur ca merci
    Un tableau de quoi ? C'est pour un cours ?

    Soit on t'a demandé de copier ça dans un « tableau de caractères », et autrement dit, c'est un buffer : tu déclares ton tableau et regardes du côté de strncpy(), soit tu veux vraiment faire un tableau de chaîne et dans ce cas, deux solutions :

    Soit tu fais un tableau de tableaux, pour stocker des chaînes de longueur fixes et tu te reportes au problème précédent, soit tu fais un tableau de pointeurs (const char * tableau[], comme pour les arguments de main()) et tu utilises strdup() pour allouer la mémoire, dupliquer ta chaîne dedans et recevoir le pointeur correspondant ... que tu ranges dans ton tableau. N'oublie pas de libérer la mémoire après usage.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    salut Obsidian,
    oui je voudrai lees mettre dans un tableau de characteres.. pour avoir ceci a la fin :
    image[0]="new1.jpg"
    image[1]="new2.jpg"
    image[2]="new3.jpg"
    etc..
    pour pouvoir les afficher apres en utilisant la SDL.
    j'ai utilisé strcpy en faisant cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strcpy(image[i],File.cFileName);
    mais ca plante le programe quand il y arrive !
    et pour un tableau de tableau j'ai pas vraiment compris ce que tu veux dire..

  6. #6
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par epsilone15 Voir le message
    salut Obsidian,
    oui je voudrai lees mettre dans un tableau de characteres.. pour avoir ceci a la fin :
    image[0]="new1.jpg"
    image[1]="new2.jpg"
    image[2]="new3.jpg"
    etc..
    pour pouvoir les afficher apres en utilisant la SDL.
    j'ai utilisé strcpy en faisant cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strcpy(image[i],File.cFileName);
    mais ca plante le programe quand il y arrive !
    et pour un tableau de tableau j'ai pas vraiment compris ce que tu veux dire..
    Il faut créer un tableau capable de stocker des chaines de caractères.

    Plusieurs questions se posent.

    1 - Un tableau de quelle taille ?
    2 - Un tableau de quoi ?

    Commence déjà par essayer de répondre à ces questions.
    Pas de Wi-Fi à la maison : CPL

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 373
    Points : 23 629
    Points
    23 629
    Par défaut
    Citation Envoyé par epsilone15 Voir le message
    j'ai utilisé strcpy en faisant cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strcpy(image[i],File.cFileName);
    mais ca plante le programe quand il y arrive !
    Ok, montre-nous la ligne de code qui déclare image[].

    et pour un tableau de tableau j'ai pas vraiment compris ce que tu veux dire..
    Soit tu fais un tableau de pointeurs, lesquels pointent sur le début de chaque chaîne, soit tu fais un tableau de tableaux de caractères qui, eux, contiennent directement chaque chaîne. Avantage : tu n'as pas besoin d'aller libérer la mémoire derrière chaque pointeur. Inconvénient : les emplacements pour tes chaînes ont une taille fixe : si ton nom de fichier est moins long, c'est de la mémoire occupée pour rien, s'il est plus long, il est tronqué !

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/06/2011, 10h39
  2. Recupere nom du fichier dans un JFileChooser
    Par fefe69 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 14/02/2008, 17h51
  3. Stocker nom de fichier dans un tableau
    Par J0r_x dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 29/03/2007, 18h26
  4. Réponses: 4
    Dernier message: 10/10/2003, 18h04

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