Bonsoir,

j'ai fait un petit programme permettant de stocker les arguments qu'on entre dans une liste chainee, ca fontionne plutot bien, mais je veux faire une deuxieme fonction qui la parcourt en affichant chaque maillon, et la je plante... Ce qui est normal, mais je ne vois pas comment faire autrement (on m'a dit au'il etait plus simple de l'afficher a l'envers mais ca ne m'a pas beaucoup aide), voici le code:

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
void            my_print_list(t_list **params)
{
  t_list        *moove;

  moove = *params;
  while (moove != 0)
    {
      putstr(moove->arg);  SEGMENTATION FAULT 
      moove = moove->next;
    }
}

void            my_params_in_list(t_list **params, char **av)
{
  int           y;
  int           x;
  t_list        *new;
  t_list        *moove;

  y = 0;
  while (av[y])
    {
      new = malloc(sizeof(*new));
      new->arg = malloc((my_strlen(av[y]) + 1) * (sizeof(new->arg)));
      new->next = 0;
      x = 0;
      while (av[y][x])
        {
          new->arg[x] = av[y][x];
          x++;
        }
      if (*params == 0)
        *params = new;
      else if (*params != 0)
        {
          moove = *params;
          while (moove->next != 0)
            moove = moove->next;
          moove->next = new;
        }
      y++;
    }
}

int     main(int ac, char **av)
{
  t_list        *params;

  params = malloc(sizeof(*params));
  my_params_in_list(&params, av);
  my_print_list(&params);
}
Merci de me donner un petit coup de main ! Bonne soiree.