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]
J’ai pas vraiment la tête à me plonger dans ton code, mais tu peut le compiler avec l’option -g et le lancer avec gdb, ça te permettra de voir où exactement tu plante. Sinon lance-le avec valgrind qui pourras te dire pleins de choses sur la mémoire.
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
[/quote]
Tu as fait comment ?
gdb ./nom-du-programme
Puis tu as tapé r pour lancer le programme avec les éventuels paramètre ?
Après qu’il plante tape l (ou list) pour voir où dans ton code tu es arrivé.
Tu dois pouvoir facilement trouver des howto sur gdb assez simples.
[quote=« lrgtk »]pour la 1 ligne c’est erreur de segmentation de mon premier post enfin je crois
et pour la 2 ligne , ça serait ecrit en chinois ça serai pareil ???[/quote]
Je ne peux pas t’aider je ne connais pas assez valgrind pour te le décrire de tête.
la boucle fonction un pca mais pas sur pcB ?
j’ai commencer a developper sur le pcB c’est la premier fois que j’ai ce pb
je viens de reinstaller debian toujours, le pb est encore la
des programme comme terminal, openoffice, gedit, moniteur systeme = fonctionne correctement de ce que je peut en juger
un code avec une simple boucle ne fonctionne pas ???
le prompt reste vide
obliger de faire un ctrl c pour le recuperer!!!