PDA

Visualizza la versione completa : [C]Leggere nomi dei files presenti in una directory con dirent.h


web_pirate
16-05-2014, 23:45
Ragazzi, avrei la necessità di leggere i nomi dei files all'interno di una directory. Spulciando qua e la ho visto che esiste questo header dirent.h, che mi dovrebbe permettere di fare ciò che desider... Soltanto che, non avendo trovato molto in rete, non riesco a leggere niente...

DIR *d;
struct dirent * dir;

d = opendir("D:\\programmi_personali\\");

dir = readdir(d);

printf("\n%s", dir->d_name);
Pensavo funzionasse in questo modo, ma guardando all'interno dell'header vedo che d_name non è un'array di stringhe e in effetti quando lancio il programma ottengo come risultato un semplice ".". Qualcuno saprebbe indirizzarmi?

oregon
17-05-2014, 08:58
Devi chiamare più volte la readdir. Il file "." è uno tra quelli letti ed è il riferimento alla directory corrente come ".." è il riferimento alla directory precedente.

Leggi la documentazione della readdir. Se operi con Windows esistono apposite API.

Loading