Bonjour,

quand j'execute ce prog sous unix il m'affiche

> cc -o sta stat.o -Wall
> sta *.*
Memory fault(coredump)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
 
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main (int argc, char *argv[])
{
  int i, mode;
  int size;
  struct stat sbuf;
 
  for(i=0; i < argc; i++)
  {
     if(stat(argv[i], &sbuf) == -1)
     {
       perror("stat");
       exit(1);
     } 
     else
     {	
        mode=sbuf.st_mode;
        //size=sbuf.st_size;
 
        printf("Taille : %lu octets %s\n", argv[i]);
 
       if(S_ISDIR (mode)) printf("%s is a directory, File size %ld\n", argv[i], sbuf.st_size); 
       if(S_ISLNK (mode)) printf("%s is a symbolic link, File size %ld\n", argv[i], sbuf.st_size );
       if(S_ISREG (mode)) printf("%s is a regular file, File size %ld\n", argv[i], sbuf.st_size );
       //fprintf (stdout, "Taille : %lu octets - a ete accede a : s\n", sbuf.st_size, ctime(&sbuf.st_atime));
        //printf("- taille -a ete modifie a %s\n", size(&sbuf.st_size), ctime(&sbuf.st_mtime)); 
        //printf("-taille - ses meta-donnees ont ete changees a %s\n",argv[i],  size(&sbuf.st_size), ctime(&sbuf.st_ctime)); 
     }   
  } 
  return 0;
}
Merci de m'aider