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!!!!!!!