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 :

copier liste d'un dossier dans fichier disque


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 23
    Points
    23
    Par défaut copier liste d'un dossier dans fichier disque
    Bonjour,

    Je souhaiterais écrire la liste des fichiers contenus dans un dossier dans un fichier texte et sauvegarder celui-ci dans un dossier.
    J'ai trouvé des exemples, sur le site, permettant de lire les fichiers dans un répertoire mais je n'arrive pas à écrire le résultat dans un dossier.
    Le petit programme suivant renvoie la liste à l'écran mais aucune information n'est reportée dans le
    fichier texte qui est créé.
    Merci d'avance pour votre aide.
    Cordialement.

    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 <stdlib.h>
    #include <stdio.h>
    #include <errno.h>
    #include <dirent.h>
     
     
     
    int main()
    {
        FILE* fichier = NULL;
        DIR* rep = NULL;
        struct dirent* fichierLu = NULL; 
     
             rep = opendir("*.*");
                  if (rep == NULL)
                           exit(1);
                            fichier = fopen("liste.txt", "w");
                             if (fichier == NULL)
                              exit(1);
     
        fichierLu = readdir(rep); /* On lit le premier répertoire du dossier.
     
         while ((fichierLu = readdir(rep)) != NULL)
     
                    printf("%s\n", fichierLu->d_name);
                    fprintf(fichier, fichierLu->d_name);
     
     
        if (closedir(rep) == -1)
            exit(-1);
     
        fclose(fichier);
         
        return 0;
    }

  2. #2
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fprintf(fichier, fichierLu->d_name);
    Il manque le format "%s\n"

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 23
    Points
    23
    Par défaut
    Bonjour,

    Merci pour cette réponse. j'ai fait la modif.
    fprintf(fichier,"%s\n", fichierLu->d_name);
    Je suppose que celle-ci est correcte ?
    La compilation (code::Bock) donne (0 errors, 0 warnings) Le run produit un affichage à l'écran mais le fichier texte reste vide ?
    Je ne sais que faire ?
    Merci d'avance pour votre aide.
    Cordialement.

  4. #4
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Il manque des accolades :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
         while ((fichierLu = readdir(rep)) != NULL)
         {
                    printf("%s\n", fichierLu->d_name);
                    fprintf(fichier, "%s\n",  fichierLu->d_name);
          }

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Points : 23
    Points
    23
    Par défaut
    Merci encore pour cette aide. Je viens de découvrir mon erreur.

    cordialement

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

Discussions similaires

  1. Désigner (Choisir) un dossier dans un disque
    Par Claude_Azoulai dans le forum VB.NET
    Réponses: 2
    Dernier message: 09/09/2011, 15h09
  2. Arboréscence + Taille Dossier dans fichier HTML
    Par forum dans le forum Vos Contributions VBScript
    Réponses: 1
    Dernier message: 24/05/2011, 11h34
  3. Recherche d'un dossier dans le disque
    Par com-ace dans le forum Access
    Réponses: 6
    Dernier message: 31/08/2006, 10h51
  4. [OmniMark 5] Copier contenu d'un dossier dans autre dossier
    Par Hoegaarden dans le forum Autres langages
    Réponses: 3
    Dernier message: 24/08/2005, 16h59

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