Bonjour voila j'ai une liste chainée:
avec sa fonction ajouter:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 struct listeClients { /* données */ int socket; char pseudo[256]; /* chainage */ struct listeClients * suivant ; };
à cette liste je veux y ajouter un tableau de caractéres construit comme ceci:
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 struct listeClients * ajoutListe(struct listeClients *l, int sock, char *nom) { /* allocation du noeud */ struct listeClients *nouveau = malloc (sizeof *nouveau); /* si tout c'est bien passe : */ if (nouveau != NULL) { /* mise a jour des champs : */ /* donnees */ nouveau->socket = sock; memcpy(nouveau->pseudo, nom, strlen(nouveau->pseudo)); /* chainage par defaut */ nouveau->suivant = NULL; /* chainage */ if (l == NULL){ /* c'est le premier : */ l = nouveau; } else { /* on cherche le dernier noeud */ struct listeClients *p = l; while (p->suivant != NULL) { /* pointer sur le suivant */ p = p->suivant; } /* modification du chainage */ p->suivant = nouveau; } } return l; }
mais il n'y a rien à faire j'ai un "segmentation fault" et je ne vois pas mon erreur...si qqun pouvait m'orienter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 char pseudo[256]; nbytes=recv(newfd,pseudo,sizeof(pseudo)-1,0); pseudo[nbytes]=0; ajoutListe(l, newfd, pseudo);
Partager