Ok. Buona Pasqua a tutti.
max@studio:~/test> cat prova.c
#include <stdio.h>
#include <string.h>
#include <dirent.h>
#include <errno.h>
int conta_file(char *name)//funzione di conteggio dei file nel direttorio..
{
DIR *dir;
struct dirent *dd;
int count = 0;
dir = opendir(name);
if( dir == NULL)
{
fprintf(stdout,"%s opendir...\n", strerror(errno));
return -1;
}
while((dd = readdir(dir))!= NULL)
{
printf("Trovato il file %s\n", dd->d_name);
count++;
}
printf("\nNumero totale di file %d\n", count);
if(closedir(dir)== -1);
{
fprintf(stdout,"%s closedir...\n", strerror(errno));
return -2;
}
return count;
}
int main ()
{
conta_file(".");
return 0;
}
max@studio:~/test> gcc -Wall prova.c
max@studio:~/test> valgrind ./a.out
==6601== Memcheck, a memory error detector
==6601== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==6601== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==6601== Command: ./a.out
==6601==
Trovato il file .
Trovato il file prova.c
Trovato il file a.out
Trovato il file ..
Numero totale di file 4
Success closedir...
==6601==
==6601== HEAP SUMMARY:
==6601== in use at exit: 0 bytes in 0 blocks
==6601== total heap usage: 1 allocs, 1 frees, 32,808 bytes allocated
==6601==
==6601== All heap blocks were freed -- no leaks are possible
==6601==
==6601== For counts of detected and suppressed errors, rerun with: -v
==6601== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)
max@studio:~/test>
Come vedi viene da un'altra parte
~Max