Buonasera, ho scrittu una funzione che registra in un vettore di char* tutti i nomi delle cartelle presenti in una directory.
Finché stampo il nome delle cartelle tutto okay, ma quando cerco di registrarle nel vettore, l'intero vettore viene sostituito dal nome dell'ultimo elemento, in ordine alfabetico, nella directory (indifferentemente se sia una cartella o un file).
La funzione è questa:
Ho anche provato a sostituire la funzione push_back con altre dalla classe vector ma senza risultati
Finché stampo il nome delle cartelle tutto okay, ma quando cerco di registrarle nel vettore, l'intero vettore viene sostituito dal nome dell'ultimo elemento, in ordine alfabetico, nella directory (indifferentemente se sia una cartella o un file).
La funzione è questa:
C++:
vector<char*> fListaDir(char *CurrentDir) {
vector<char*> s;
DIR *pDir = NULL;
struct dirent *pD;
pDir = opendir(CurrentDir);
pD = readdir(pDir);
do {
DIR *pTMPDir = opendir(pD->d_name);
if(pTMPDir!=NULL) s.push_back(pD->d_name);
pD = readdir(pDir);
} while (pD!=NULL);
return s;
}
Ho anche provato a sostituire la funzione push_back con altre dalla classe vector ma senza risultati