Bonjour,
J'ai fais une fonction qui manipule un tableau de pointeur de chaine de caractère.
Donc je passe en argument de la fonction ce fameux tableaux et je le modifie dans le fonction. Une partie du code :
L'appel de ma fonction :
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 int pregMatch(const char *pattern, const char *request, char **result) { ... if ((result = malloc(sizeof(regmatch_t) * numMatch)) == NULL) { return EXIT_FAILURE; } ... if (...) { } else { for (i = 0; i < numMatch; i++) { .... if ((result[i] = malloc(length)) == NULL) { return EXIT_FAILURE; } ... } } /* Ce code affiche bien les chaine de caractères que je veux */ for (i = 0; i < numMatch; i++) { printf("%s\n", result[i]); } return numMatch; }
Je n'arrive pas a récupéré les chaine de caractère en dehors de la fonction alors que dedans ca marche nikel. Que mettre à la place des ????????? (j'ai tout essayé mais j'ai pas trouvé ). A chaque fois j'ai une erreur de segmentation quand j'affiche les chaine de caractère en dehors de ma fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 char *result = NULL if((rc = pregMatch(pattern, string, &result)) == NOK) { ... } for (i = 0; i < rc; i++) { /* Pas moyen de récupérer les chaine de caractère ici */ printf("%d : %s\n", i, ????result??????); }
Yoshio
Partager