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)
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();
    }
  ...
  }
A l'exécution du programme j'obtiens:
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!