#include <conio.h>
#include <iostream>
//#include <fstream>
#include <io.h>
//#include <polskie.h>
//#include <windows.h>
using namespace std;
void foldery(string sciezka,string tablica[],int &i,int &n){
n++;
int SzukamDalej;
_finddata_t danePliku;
string temp;
string sciezka1=sciezka+"*";
long uchwyt = _findfirst( sciezka1.c_str(), & danePliku );
if(uchwyt!=-1){
temp=danePliku.name;
if(danePliku.attrib==_A_SUBDIR&&temp!="."&&temp!=".."){
int czy=1;
for(int i2=0;i2<i;i2++){
if(tablica[i2]==sciezka+temp+"\\"){czy=0;break;}
}
if(czy==1){tablica[i]=sciezka+danePliku.name+"\\";i++;}
}
do{
SzukamDalej = _findnext( uchwyt, & danePliku );
temp=danePliku.name;
if(danePliku.attrib==_A_SUBDIR&&temp!="."&&temp!=".."){
int czy=1;
for(int i2=0;i2<i;i2++){
if(tablica[i2]==sciezka+temp+"\\"){czy=0;}
}
if(czy==1){tablica[i]=sciezka+temp+"\\";i++;}
}
}while(SzukamDalej!=-1);
}
if(i!=n){
foldery(tablica[n],tablica,i,n);
}
}
int main(){
string tablica[1000];
int i=0,n=-1;
foldery("",tablica,i,n);
for(int n=0;n<i;n++){
cout<<tablica[n]<<endl;
}
cout<<n<<endl;
getch();
}
Kompilator Dev-C++
owy program świetnie wyświetla listę folderów z danego miejsca w drzewie(wyświetla głębiej położone foldery niż sam program) jednak nie
chcę działać na partycjach nie systemowych(na pamięciach przenośnych działa)
danePliku.attrib==_A_SUBDIR
metodą prób i błędów doszedłem że chodzi o ten kawałek kodu, nie wiem dlaczego na partycji D:\ ma nie działać. Nie wiem o co chodzi.(na innym komputerze z wind xp działa wszędzie.)
Z góry dziękuję za odpowiedź
Konrad Adamczyk