Commant passer une struct en parametre foncti
divx78
Messages postés
118
Statut
Membre
-
divx78 Messages postés 118 Statut Membre -
divx78 Messages postés 118 Statut Membre -
Bonjour,
Bonjour a vous,
Je voudrai savoir comment passer une structure en paramatre de quelle type est ladresse dela structure :
1 choix :
ma_function(struct stat stats)
2 choix:
ma_function(???)
Car je suis en train de finaliser la reprogrammation de la commande ls sous linux et j'ai un segfault quan je liste le dossier parant ou un autre repertoir la structure dirent pas de probleme mes la struct stat a l'aire de posser probleme :) merci a vous
Bonjour a vous,
Je voudrai savoir comment passer une structure en paramatre de quelle type est ladresse dela structure :
1 choix :
ma_function(struct stat stats)
2 choix:
ma_function(???)
Car je suis en train de finaliser la reprogrammation de la commande ls sous linux et j'ai un segfault quan je liste le dossier parant ou un autre repertoir la structure dirent pas de probleme mes la struct stat a l'aire de posser probleme :) merci a vous
A voir également:
- Commant passer une struct en parametre foncti
- Parametre dns - Guide
- Remettre parametre usine pc - Guide
- Parametre windows - Guide
- Passer en azerty - Guide
- Netflix paramètre compte - Guide
2 réponses
Pourqoi segfault :'( snif je cherche depuis 2 jour snif snif !
DIR *rep_c;
int i;
char **alpha;
int nbr_file;
struct dirent *lecture;
i = 0;
nbr_file = count_file(path);
while (i < nbr_file)
{
alpha = malloc(nbr_file * sizeof(char *));
i = i + 1;
}
i = 0;
rep_c = opendir(path);
while ((lecture = readdir(rep_c)) != NULL)
{
if(lecture->d_name[0] != '.')
{
alpha[i] = lecture->d_name;
i = i + 1;
}
}
closedir(rep_c);
permute(alpha, nbr_file);
i = 0;
while (i < nbr_file)
{
//lstat(alpha[i], &stats);
aff_infoRep(alpha[i]);
i = i + 1;
}
free(alpha);
}
int aff_infoRep(char *name)
{
struct stat stats;
lstat(name, &stats);
file_type(stats); // type de fichier R ou D
chmod_perso(stats); // Les chmod usr grp oth
my_putchar(' ');
my_putchar(' ');
my_putnbr(stats.st_nlink, 1);
my_putchar(' ');
get_user(stats.st_uid); // toString Group
my_putchar(' ');
my_putchar(' ');
get_group(stats.st_gid); // toString User
space_delimiter(stats.st_size);
my_putnbr(stats.st_size, 1); // Get size;
my_putstr(" ");
affiche_time(stats);
my_putchar(' ');
my_putstr(name);
my_putstr("\n");
}
Merci :)
DIR *rep_c;
int i;
char **alpha;
int nbr_file;
struct dirent *lecture;
i = 0;
nbr_file = count_file(path);
while (i < nbr_file)
{
alpha = malloc(nbr_file * sizeof(char *));
i = i + 1;
}
i = 0;
rep_c = opendir(path);
while ((lecture = readdir(rep_c)) != NULL)
{
if(lecture->d_name[0] != '.')
{
alpha[i] = lecture->d_name;
i = i + 1;
}
}
closedir(rep_c);
permute(alpha, nbr_file);
i = 0;
while (i < nbr_file)
{
//lstat(alpha[i], &stats);
aff_infoRep(alpha[i]);
i = i + 1;
}
free(alpha);
}
int aff_infoRep(char *name)
{
struct stat stats;
lstat(name, &stats);
file_type(stats); // type de fichier R ou D
chmod_perso(stats); // Les chmod usr grp oth
my_putchar(' ');
my_putchar(' ');
my_putnbr(stats.st_nlink, 1);
my_putchar(' ');
get_user(stats.st_uid); // toString Group
my_putchar(' ');
my_putchar(' ');
get_group(stats.st_gid); // toString User
space_delimiter(stats.st_size);
my_putnbr(stats.st_size, 1); // Get size;
my_putstr(" ");
affiche_time(stats);
my_putchar(' ');
my_putstr(name);
my_putstr("\n");
}
Merci :)