Bonjour,
J'ai quelques difficultés avec les pointeurs alors je me suis inspiré d'une explication de koala01 pour mon code. La différence est qu'il le fait sur un float alors que je souhaite le faire sur un tableau de char 2 dimensions.
http://www.developpez.net/forums/d19...s/#post1284261
J'ai réussi à faire l'équivalent de la fonction pour mon tableau de chaines de caractères mais je n'arrive pas à faire la procédure.
Voici mon code: (j'utilise devcpp pour compiler)
A l'exécution du programme j'obtiens:
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 #include <stdio.h> #include <malloc.h> ... //prototypes void recupConfig(FILE *, char ***, char ***, int *, char ***, int *); ... int main() { FILE *fichierConf; char ***chemins=NULL; char ***extensions=NULL; char ***mots=NULL; int *nbJoursApresZip; int nbElements[4]; ... recupConfig(fichierConf, &chemins, &mots, &nbJoursApresZip, &extensions, nbElements); ... return 0; } void recupConfig(FILE *fichier,char ***listeChemins, char ***listeMots, int *nbJAZ, char ***listeExtensions, int nbElements[]) { int i; *listeChemins = (char **)malloc(50*sizeof(char *)); if(*listeChemins!=NULL) printf("mallocOK\n"); for(i=0;i<50;i++) { *listeChemins[i] = (char *)malloc(100*sizeof(char)); printf("TestMalloc\n");getch(); } ... }
mallocOK
TestMalloc
TestMalloc
TestMalloc
Et là ça bloque et ça quitte.
Je suppose que je n'alloue pas au bon endroit en mémoire mais je ne comprends pas pourquoi. Quelqu'un peut-il m'aider?
Merci!
Partager