Bonsoir,
J'ai écrit un programme dans lequel je manipule un tableau à deux dimensions contenant des chaînes de caractères. Hors, je n'arrive pas à utiliser la moindre fonction (strcpy, strlen…) si je lui passe une case du tableau en paramètre. J'ai systématiquement droit à un « segmentation fault ».
J'ai isolé et simplifié le bout de code suivant. Le tableau fait 9 * 2 cases dans cet exemple, et chaque chaîne à une taille maximale de 5 caractères (« \0 » compris).
Le problème vient du « strcpy ». J'ai parcouru faqs et tutoriaux en long, en large, en travers et en vain… Si une âme charitable pouvait m'expliquer…
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <string.h> int main () { char **resultat ; int i, j ; resultat = malloc (9 * 2 * 5 * sizeof (char)) ; for (i = 0 ; i < 9 ; i++) { for (j = 0 ; j < 2 ; j++) { strcpy (resultat [i * 2 * 5 + j * 5], "") ; } } }
J.-B.
Partager