Bonjour a tous,
jai un ptit souci : jai cree un tableau de chaines de caracteres, je le remplis, je verifie (tout est bien dedans) mais quand je veux y acceder plus tard, y a des valeurs qui ont disparues.
Je ne comprends pas.
Voici le code avec le tableau keyValues.
voici les resultats a lexecution :
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 char ** keyValues; keyValues = (char **)malloc(record.NbKeyAtt); printf("\n*******RELATION %s********\n",record.RelName); //REMPLISSAGE for(i=0;i<record.NbKeyAtt;i=i+1) { char temp[100]; printf("enter %s\n",record.KeyAtt[i]); fgets(temp,sizeof temp,stdin); clean(temp); keyValues[i]=(char *)malloc(sizeof(temp)); strcpy(keyValues[i],temp); free(temp); sizeValues=sizeValues+sizeof(keyValues[i]); } //REMPLISSAGE CORRECT :-) key=malloc(sizeof(char)+sizeof(record.RelName)+sizeof(char)+record.NbKeyAtt*sizeof(char)+sizeValues); printf("keyValues[1] : %s\n",keyValues[1]); //Il m'affiche bien la valeur :-) strcpy(key,getEquivalent((int)sizeof (record.RelName))); printf("keyValues[1] : %s\n",keyValues[1]); //Il m'affiche plus rien :-( => erreur de segmentation
Merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 keyValues[1] : bbb Segmentation fault
Partager