Problème de déclaration int

Signaler
Messages postés
14
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
23 juin 2006
-
Messages postés
14
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
23 juin 2006
-
Bonjour,



Dans un programme en C, je souhaite afficher les infos d'un dossier :



void printfile (char * name, options_t * options) {

struct stat s;

char access_chars [] = "rwxrwxrwx";

int access_masks [] = { 0400, 0200, 0100, 040, 020, 010, 4, 2, 1 };

char type_chars [] = "-dbcl";

int type_masks [] = { S_IFREG, S_IFDIR, S_IFBLK, S_IFCHR, S_IFLNK };

struct passwd * p;

struct group * g;

int i ;

char date[12] ;



Mais ma ligne en gras ci dessus bloque pour non déclaration de S_IFREG, S_IFDIR, S_IFBLK, S_IFCHR, S_IFLNK



Je ne vois pas comment faire ?



De plus lorsque je fais :

p = getpwuid (s.st_uid) ;

g = getgrgid (s.st_gid) ;



j'ai [Warning] assignment makes pointer from integer without a cast pour ces 2 lignes

Quelqu'un pourait m'expliquer ce que cela signifie ici ?



Merci

5 réponses

Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
Bonjour,



il faut ajouter par une ligne #include le fichier qui contient les déclarations S_IFDIR etc...

Ce devrais être stat.h (pour le GNU lib C bien sur)


Cordialement

Fred Cailleau-Lepetit (http://cfred.free.fr)
Messages postés
14
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
23 juin 2006

En effet, le include est bien là pourtant !

#include <sys/stat.h>

Je cherche toujours
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
A tu déclaré quelque part __STRICT_ANSI__?

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Ou _NO_OLDNAMES

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
14
Date d'inscription
mercredi 24 novembre 2004
Statut
Membre
Dernière intervention
23 juin 2006

Merci SAKingdom mais j'ai pallier au problème en ajoutant les options suivantes lors de le compile :

gcc -Wall -pedantic -w -Wimplicit-int Wchar-subscripts -g xxxx.c -o xxxx

;-)