Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Ricerca in discolocale
Forum - C/C++ - Ricerca in discolocale

Avatar
Mitch7 (Normal User)
Newbie


Messaggi: 10
Iscritto: 10/12/2007

Segnala al moderatore
Postato alle 20:45
Lunedì, 10/12/2007
Ciao ho fatto un programmino per la ricerca di file in disco locale, un mio amico mi ha aggiunto un ultimo pezzo ma non capisco cosa fa questo pezzetto, lui non lo vedo + da 2 sett perché è partito e fino a febbraio non torna...posso postare il codice e chiederti se puoi essermi d'aiuto???

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 8:29
Martedì, 11/12/2007
Facevi prima a mostrare il codice ...

PM Quote
Avatar
Mitch7 (Normal User)
Newbie


Messaggi: 10
Iscritto: 10/12/2007

Segnala al moderatore
Postato alle 14:51
Martedì, 11/12/2007
#include <windows.h>
#include <stdio.h>

void FindFile(char *unit)
{
    char start[256];
    if(strlen(unit))//verifico che la stringa unit non sia vuota
    {
      strcpy(start, unit);
      strcat(start, "\\*.*");
  
    }
      
        char FullPath[2000];
        WIN32_FIND_DATA  nb, sp,  struttura;
        HANDLE hv;
        int i;
        
/*Ciclo che parte dal primo file trovato nella directory e che finisce quando
  non sono presenti piu' file nell'unità*/

        for(hv = FindFirstFile(start, &struttura), i=1; hv !=INVALID_HANDLE_VALUE && i; i=FindNextFile(hv, &struttura))
        {
            //Controllo se il file trovato e' una directory
          if(struttura.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
          {
            if(strcmp(struttura.cFileName, ".") && strcmp(struttura.cFileName, ".."))
            {
                //Creo un nuovo percorso col nome del file trovato
               strcpy(FullPath, unit);
               strcat(FullPath, "\\");
               strcat(FullPath, struttura.cFileName);
              
               //Effettuo la funzione in modo ricorsivo sul nuovo percorso
               FindFile(FullPath);
            }
          }

          // Verifico che il percorso sia un file txt
          char *p;
          p = strstr(struttura.cFileName,".txt");
          if (p!=NULL)
           {
           char app[200];
           strcpy(app,unit);
           strcat(app,"\\");
           strcat(app,struttura.cFileName);
           printf("\n%s",app);
           /* in app abbiamo il nostro percorso completo file pronto per
           essere processato */
           }
}

        // Se il file è valido lo chiudo
      if (hv!=INVALID_HANDLE_VALUE)
        FindClose(hv);
}

void main()
{
    char unit[10];
    printf("Inserire l'unita' in cui si vuole cercare\n");
    gets(unit);
    FindFile(unit);
    getchar();
}


Questo è il codice solo che funziona solo con i file .txt se metto i file.cpp non viene...cmq la parte sottolineata non la capisco

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 16:03
Martedì, 11/12/2007
Testo quotato


Questo è il codice solo che funziona solo con i file .txt se metto i file.cpp non viene...



Mi pare evidente ... se c'e' scritto

Codice sorgente - presumibilmente C/C++

  1. // Verifico che il percorso sia un file txt
  2.     char *p;
  3.     p = strstr(struttura.cFileName,".txt");



secondo te cosa dovrebbe trovare?

Testo quotato


cmq la parte sottolineata non la capisco



Quale e' la parte sottolineata ?  :-?

Ultima modifica effettuata da gantonio il 11/12/2007 alle 16:04
PM Quote
Avatar
Mitch7 (Normal User)
Newbie


Messaggi: 10
Iscritto: 10/12/2007

Segnala al moderatore
Postato alle 19:03
Martedì, 11/12/2007
é la parte che va da /*verifico che sia un file .txt a /*in app abbiamo messo...ho detto che era sottolineata xché mi pareva di averla sottolineata....cmq se io anziche ricercare i txt volessi ricercare i cpp come devo fare???perché mi sono sbattutto un pò ma nn riesco a venrine a capo

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 19:38
Martedì, 11/12/2007
Hai letto bene quello che ti ho risposto? Ti ho detto in pratica che al posto di .txt devi inserire .cpp ... ma non ci vuole molto ad arrivarci ...

PM Quote
Avatar
Mitch7 (Normal User)
Newbie


Messaggi: 10
Iscritto: 10/12/2007

Segnala al moderatore
Postato alle 20:20
Martedì, 11/12/2007
E l'ho fatto ma mi si pianta...l'avevo già provato da solo

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 21:18
Martedì, 11/12/2007
Testo quotato

Postato originariamente da Mitch7:

E l'ho fatto ma mi si pianta...l'avevo già provato da solo



E quando l'hai detto che l'avevi sostituito? E cosa vuol dire "si pianta"? Probabilmente non trova i .cpp e cercando su tutto il disco ci sta un po' ...

E poi, con i txt funziona? Se funziona, non vedo il motivo perche' si "pianti" con i cpp ...

PM Quote
Avatar
Mitch7 (Normal User)
Newbie


Messaggi: 10
Iscritto: 10/12/2007

Segnala al moderatore
Postato alle 15:54
Mercoledì, 12/12/2007
ho risolto grazie 1000

PM Quote