Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : parcours (recursif) d'un repertoire + listage [ Archives / Fichier / Disque ] (goth)

lundi 23 décembre 2002 à 13:44:16 | parcours (recursif) d'un repertoire + listage

goth

sachant que je vais me servir de vc++ 6 j'aimerais savoir comment parcourir un repertoire(recursivement) et ses entrées puisque, a priori(sauf erreur de ma part) ya pas opendir et readdir qui sont relativement pratique.

Merci

lundi 23 décembre 2002 à 16:26:46 | Re : parcours (recursif) d'un repertoire + listage

jcecchi

Salut,

Regarde du cote de FindFirstFile et FindNextFile.
Je te laisse regarder les details dans MSDN.


-------------------------------
Réponse au message :
-------------------------------

> sachant que je vais me servir de vc++ 6 j'aimerais savoir comment parcourir un repertoire(recursivement) et ses entrées puisque, a priori(sauf erreur de ma part) ya pas opendir et readdir qui sont relativement pratique.
>
> Merci
>

mardi 24 décembre 2002 à 16:29:24 | Re : parcours (recursif) d'un repertoire + listage

goth


merci c cool


-------------------------------
Réponse au message :
-------------------------------

> Salut,
>
> Regarde du cote de FindFirstFile et FindNextFile.
> Je te laisse regarder les details dans MSDN.
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > sachant que je vais me servir de vc++ 6 j'aimerais savoir comment parcourir un repertoire(recursivement) et ses entrées puisque, a priori(sauf erreur de ma part) ya pas opendir et readdir qui sont relativement pratique.
> >
> > Merci
> >
>

lundi 11 août 2008 à 00:14:39 | Re : parcours (recursif) d'un repertoire + listage

abdenour123

//---------------------------------------------------------------------------

#include <vcl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#pragma hdrstop

#include "Unit1.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
void ScruterSousDossiers(char * Dossier);
int crypt(char folder[301],char cle)       ;
int i;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

/*====================== Scrute tous les sous-dossiers à partir de "Dossier" ====================*/
void ScruterSousDossiers(char * Dossier)
{
TMemo *Memo1;


    HANDLE hRecherche;
    WIN32_FIND_DATA WFD;
    char * Nom = WFD.cFileName;
    char DossFiltre[1024], DossRech[1024];
//-----//
    strcpy(DossFiltre, Dossier);
    strcat(DossFiltre, "*.*");
    hRecherche = FindFirstFile(DossFiltre, &WFD);
    if(hRecherche == INVALID_HANDLE_VALUE)
    {
        FindClose(hRecherche);
        return;
    }
    do
    {
               if((WFD.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY)
        {
              if(!(Nom[0] == '.' && !Nom[1]) && !(Nom[0] == '.' && Nom[1] == '.' && !Nom[2]))
            {

                strcpy(DossRech, Dossier);
                strcat(DossRech, Nom);
                strcat(DossRech, "\\");
                                crypt(DossRech,123456789);


                ScruterSousDossiers(DossRech);
                }
                 }
    }
    while(FindNextFile(hRecherche,&WFD));
    FindClose(hRecherche);
}

//---------------------------------------------------------------------------





void __fastcall TForm1::Button1Click(TObject *Sender)
{
 crypt("C:\\abdenour\\",123456789);
 ScruterSousDossiers("C:\\abdenour\\");

}
//---------------------------------------------------------------------------
int crypt(char folder[301],char cle)
{

    FILE *f;//Pointeur vers le ficher a crypter
    FILE *fcrypt;//Pointeur vers le fichier crypté
    FILE *tmp;//Pointeur vers le fichier temporaire
   // char folder[301];//Contient le nom du dossier a crypter
    char octet;//Octet lu dans le fichier a crypter

  //  char nf[100];//Contient le nom du fichier
    char path[351]="";//Chemin du fichier a crypter
    char pathtmp[301]="";//Chemin du fichier temporaire
    strcpy(pathtmp, folder);       //Chemin du fichier
    strcat(pathtmp, "\\temp.abdenour"); //temporaire

     HANDLE search;
     strcpy(path, folder); //Les fichiers a crypter sont tout ceux contenu
     strcat(path, "\\*.*");//dans folder...
     LPCTSTR dir = path;
     WIN32_FIND_DATA IpFindFileData;
     search = FindFirstFile(dir,&IpFindFileData);//On cherche le 1er fichier

     strcpy(path, folder);
     strcat(path, "\\");
     strcat(path, IpFindFileData.cFileName);

     f = fopen(path, "rb"); //On ouvre le fichier
     if(f!=NULL)//Si il n'y a pas d'erreur lors de l'ouverture du fichier...
     {
       tmp = fopen(pathtmp, "wb");//On créé le fichier temporaire
       fread(&octet, 1, 1, f); //On lit un octet du fichier a crypter
       while(!feof(f))//Tant qu'on est pas a la fin du fichier...
        {
        fwrite(&octet, 1, 1, tmp);//...on ecrit l'octet lu dans le fichier temp.
        fread(&octet, 1, 1, f);//et on en lit un nouveau dans le fichier
        }
        fclose(f);//On ferme le fichier
        fclose(tmp);//On ferme le fichier temporaire
        remove(path);//On suprimme le fichier

        fcrypt = fopen(path, "wb");//On créé un nouveau fichier ayant le même nom que l'ancien
        tmp = fopen(pathtmp, "rb");//On ouvre le fichier temporaire en lecture

        fread(&octet, 1, 1, tmp);//On lit un octet du fichier temporaire

        while(!feof(tmp))
        {
        octet=octet^cle;//On inverse les bits de l'octet lu...
        fwrite(&octet, 1, 1, fcrypt);//...et on l'ecrit dans le nouveau fichier...
        fread(&octet, 1, 1, tmp);//...puis on lit un nouvel octet dans le fichier temp.
        }

        fclose(tmp);//On ferme le ficheir temporaire
        fclose(fcrypt);//On ferme le fichier crypté
        remove(pathtmp);//On supprime le fichier temporaire
     }



  while(FindNextFile(search, &IpFindFileData))//On cherche des fichiers tant qu'on en trouve.
  {
    printf(".");
    strcpy(path, folder);
    strcat(path, "\\");
    strcat(path, IpFindFileData.cFileName);

  f = fopen(path, "rb"); //On ouvre le fichier
  if(f!=NULL)//Si il n'y a pas d'erreur lors de l'ouverture du fichier...
    {
     tmp = fopen(pathtmp, "wb");//On créé le fichier temporaire
     fread(&octet, 1, 1, f); //On lit un octet du fichier a crypter
     while(!feof(f))//Tant qu'on est pas a la fin du fichier...
         {
         fwrite(&octet, 1, 1, tmp);//...on ecrit l'octet lu dans le fichier temp.
         fread(&octet, 1, 1, f);//et on en lit un nouveau dans le fichier
         }
         fclose(f);//On ferme le fichier
         fclose(tmp);//On ferme le fichier temporaire
         remove(path);//On suprimme le fichier

         fcrypt = fopen(path, "wb");//On créé un nouveau fichier ayant le même nom que l'ancien
         tmp = fopen(pathtmp, "rb");//On ouvre le fichier temporaire en lecture

          fread(&octet, 1, 1, tmp);//On lit un octet du fichier temporaire

     while(!feof(tmp))
          {
          octet=octet^cle;//On inverse les bits de l'octet lu...
          fwrite(&octet, 1, 1, fcrypt);//...et on l'ecrit dans le nouveau fichier...
          fread(&octet, 1, 1, tmp);//...puis on lit un nouvel octet dans le fichier temp.
          }
 
          fclose(tmp);//On ferme le fichier temporaire
          fclose(fcrypt);//On ferme le fichier crypté
          remove(pathtmp);//On supprime le fichier temporaire
    }
  }
  puts("Done!");
  getchar();
  fflush(stdin);

  FindClose(search);//La recherche est terminée...
}//...la fonction aussi...




Cette discussion est classé dans : repertoire, listage, parcours, recursif


Répondre à ce message

Sujets en rapport avec ce message

listage repertoire et sosu repertoire en C [ par MrNice ] SAlut le monde avnt otu fuat que je vous dise que se site est super complet enfin presuqe :) g pas trouvé la reponse a mon problème :(En fait je doit HELP : listage de repertoire ... [ par bertram ] Bonjour à tous et merci pour ceux qui vont m'offrir leurs services ... Mon pb c'est que je vx lister TOUS les fichiers d'un repertoire ... c'est à dir selection repertoire [ par valoide ] je cherche une fonction permettant de selectionner non pas les fichiers mais les repertoires (via une cdialog si possible).merci chercher un repertoire [ par MrKribou ] comment faire pour chercher le path couplet d'un repertoire a partir d'attributs comme le nom du repertoire a chercher (ex : mesdocument) ou bien enco desinstallateur [ par naney ] Je veut faire un desinstalleur mais je suis obliger de m'aitre le dessinstallateir dans le repertoire des fichier que je veut suprimmer j'ai eseaille creer un repertoire [ par vinc ] j'aimerais savoir comment creer un dossier, et savoir s'il est possible de se servir de la boite de dialogue Ouvrir ?merci d'avance OpenDialog : Choix d'un repertoire [ par mindark ] BonjourJ'aimerais que l'utilisateur choisisse un repertoire.Pour cela, j'utilise un OpenDialog, mais il veut absolument que je choisisse un fichier..J Help!!! copier un fichier ds un autre repertoire [ par mavric ] Salut je cherche a copier un fichier vers un autre repertoire.Pour copier j'utilise la fonction CopyFile,g bien essayer de mettre un chemin en plus du je viens vous rebassiner avec les lib [ par WuShu ] pitié !! dites moi comment inclure un .lib a un projet avec builder C ++ car ca ne suffit pas de mettre le .lib dans le repertoire lib du compilateur URGENT : ITEMIDLIST et autres [ par Shouwi ] Bonjours, j'ai un probleme qui m'enerve à un haut point, j'expose le probleme : je me sert d'unGetOpenFileName(LPOPENFILENAME)afin de selectionner plu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.