bonjour
j’ai une erreur de segmentation en fin de programme et mon tableau c’est pas ça ?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
struct TRUC
{
int truca;
int trucb;
};
int main(int argc,char **argv)
{
int NElement = 100, taille_S_TRUC, Nouv_dim, i;
struct TRUC *T_S_test = NULL;
struct TRUC V_S_test;
taille_S_TRUC = sizeof(struct TRUC); // connaitre la taille de la structure GPX
Nouv_dim = (NElement + 1) * taille_S_GPX;
test = (struct TRUC *) malloc(Nouv_dim); // allocation mémoire
V_S_test.truca = 2;
V_S_test.trucb = 0;
T_S_test[0] = V_S_test;
V_S_test.truca = 8;
V_S_test.trucb = 23;
T_S_test[1] = V_S_test;
i =0;
printf("i - truca:%03d - trucb:%03d\n",T_S_test[i].truca ,T_S_test[i].trucb);
i =1;
printf("i - truca:%03d - trucb:%03d\n",T_S_test[i].truca ,T_S_test[i].trucb);
i =99;
printf("i - truca:%03d - trucb:%03d\n",T_S_test[i].truca ,T_S_test[i].trucb);
Ma_fonction(&test);
i =0;
printf("i - truca:%03d - trucb:%03d\n",T_S_test[i].truca ,T_S_test[i].trucb);
i =1;
printf("i - truca:%03d - trucb:%03d\n",T_S_test[i].truca ,T_S_test[i].trucb);
i =99;
printf("i - truca:%03d - trucb:%03d\n",T_S_test[i].truca ,T_S_test[i].trucb);
printf("FIN\n");
}
Ma_fontion(struct TRUC **test)
{
// parse un fichier texte, modifie les données du tableau jusqu'a l'indice 50
les infos de mon fichier
40 - 17
18 - 587
547 - 1200
etc ...
}
[code]resultat :
avant la Ma_fonction
0 - truca:2 - trucb:0
1 - truca:8 - trucb:23
99 - truca:0 - trucb:0
après Ma_fonction
0 - truca:40 - trucb:17
element bien modifie et conforme au donnée du fichier texte, mais ce sont les données qui se trouver normalement à l’indice 50 et 0.
1 - truca:-17584254 - trucb:-17584254 ici :017 ???
99 - truca:0 - trucb:0 est la normal rien de changer
FIN
Erreur de segmentation[/code]
une idée, parce que moi ???
merci d’avnace.