Intanto il codice, molto molto semplice...
codice:
#include <stdio.h>
#include <dirent.h>
#include <sys/stat.h>
int main()
{
DIR *dir;
struct dirent *file;
struct stat filestat;
char filepath[256], dir_source[128];
sprintf(dir_source,".");
if (*dir_source != '\0') {
/* Leggo tutti i file contenuti nella directory dir_source */
if ((dir=opendir(dir_source)) == NULL) {
printf("!>>> Directory %s inesistente o inaccessibile!\n",dir_source);
return;
}
while ((file=readdir(dir)) != NULL) {
lstat(filepath, &filestat);
strcpy(filepath, dir_source);
strcat(filepath, file->d_name);
printf("Name = %s\n",file->d_name);
if (!S_ISDIR(filestat.st_mode))
printf("Leggo file %s\n",filepath);
}
}
Mi ritornano sempre i nomi dei file (nelle ultime 2 printf) come una serie di caratteri speciali e lettere a caso... io errori non ne vedo, qualcuno può aiutarmi?