PDA

View Full Version : [C] Lista cartella


max246
04-11-2005, 10:35
Ciao a tutti, come faccio a vedere la lista completa dei una cartella? :S :confused:

cikko
04-11-2005, 10:45
Ciao a tutti, come faccio a vedere la lista completa dei una cartella? :S :confused:
in C standard non si puo', dipende dal sistema operativo.
Per Win: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/directory_management_functions.asp

Per GNU/Linux: man opendir, man dirfd, ecc.

max246
04-11-2005, 11:28
in C standard non si puo', dipende dal sistema operativo.
Per Win: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/directory_management_functions.asp

Per GNU/Linux: man opendir, man dirfd, ecc.


Trovato.. cmq esiste per C... non bisogna sempre basarsi su le msdn di m$... non l'ho mai fatto e forse non lo faro mai....

si cerca sempre di farsi aiutare da m$ ma alla fine esistono siti web che con un esempio ti riassumono 8 pagine di msdn...

cikko
04-11-2005, 12:02
Trovato.. cmq esiste per C... non bisogna sempre basarsi su le msdn di m$... non l'ho mai fatto e forse non lo faro mai....
per tua informazione *odio* le soluzioni di microsoft per i programmatori... e qualcuna anche per gli utenti...

si cerca sempre di farsi aiutare da m$ ma alla fine esistono siti web che con un esempio ti riassumono 8 pagine di msdn...
si e` cosi... appunto basta cercare ;-)

comunque se avresti postato la soluzione che hai trovato, potrebbe essere utile in futuro a qualcuno... postala magari...

max246
04-11-2005, 13:42
Posto l'esempio


/*
* readdir.c: example usage for opendir()/readdir()/closedir()
*
* Matt Dailey, Feb 2004
*
* Compile with "gcc readdir.c" to get executable a.out.
*
* This example program prints out the files in the current
* directory
*
* Be sure to refer to "man 3 readdir" etc.
*
*/

#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>

int main( int argc, char *argv[] ) {
DIR *pDIR;
struct dirent *pDirEnt;

/* Open the current directory */

pDIR = opendir(".");

if ( pDIR == NULL ) {
fprintf( stderr, "%s %d: opendir() failed (%s)\n",
__FILE__, __LINE__, strerror( errno ));
exit( -1 );
}

/* Get each directory entry from pDIR and print its name */

pDirEnt = readdir( pDIR );
while ( pDirEnt != NULL ) {
printf( "%s\n", pDirEnt->d_name );
pDirEnt = readdir( pDIR );
}

/* Release the open directory */

closedir( pDIR );

return 0;
}