Oppure

Loading
31/07/08 17:55
heilà antonio??? mi abbandoni alla fine???
31/07/08 18:39
gantonio
Eccomi ... calma ...

Ma tu lo vuoi scrivere in C o C++ ? Adesso hai inserito costrutti C++ mentre in tutto il resto del codice hai usato solamente il C ...

Una soluzione puo' essere

#include "stdafx.h"

#include <windows.h> 
#include <iostream> 
#include <stdio.h> 
#include <vector> 
#include <string>

using namespace std; 

vector<string> lista; 

void search(char *p) 
{ 
  WIN32_FIND_DATA fd; 

  char tlist[MAX_PATH]; 
  char pf[MAX_PATH]; 
  strcpy(pf, p); 
  strcat(pf, "\*.*"); 

  HANDLE h = FindFirstFile(pf, &fd); 
  if (h != INVALID_HANDLE_VALUE) 
  { 
    do 
    { 
      if( strcmp(fd.cFileName, ".") && strcmp(fd.cFileName, "..")) 
      { 
        if(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 
        { 
          //printf ("[%s]\n", fd.cFileName); 

          char pf[MAX_PATH]; 
          strcpy(pf, p); 
          strcat(pf, "\"); 
          strcat(pf, fd.cFileName); 

          search(pf); 
        } 
        else 
        { 
          //printf ("\t%s\n", fd.cFileName); 

          strcpy(tlist, p); 
          strcat(tlist, "\"); 
          strcat(tlist, fd.cFileName); 

          lista.push_back(tlist);
        } 
      } 
    } while (FindNextFile(h, &fd)); 

    FindClose(h); 
  } 
  else 
    printf("Errore %d\n", GetLastError ()); 
} 

int main() 
{ 
  char percorso[MAX_PATH]; 


  cout<<"Inserire il percorso in effettuare la ricerca:  "; 
  cin>>percorso; 

  search(percorso); 

  cout<<endl<<endl<<endl; 

  vector<string>::iterator a = lista.begin(); 
  while(a != lista.end()) 
  { 
        cout<<*a<<endl; 
        a++; 
  } 

  system("pause"); 
}


ma devi utilizzare le

string

ovunque al posto dei vettori di char per fare in modo che diventi tutto C++
Ultima modifica effettuata da gantonio 31/07/08 18:40
aaa
31/07/08 19:22
Ok domani provo ad aggiungere un'ultima funzione al programma e poi siamo a posto ciao!!!!!!!
01/08/08 7:23
gantonio
Ok ... ma ci possiamo risentire saltuariamente ... vado in ferie e quindi guardero' il forum un po' raramente ...

:)
aaa