Problème avec un tableau (deux dimensions) de chaînes de caractères
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).
Code:
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], "") ;
}
}
} |
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…
J.-B.