erreur de segmentation sur matrice

erreur de segmentation sur matrice - C - Programmation

Marsh Posté le 30-05-2013 à 15:02:08    

Bonjour,
 A partir d'un fichier.txt, j'extrait les valeurs en utilisant char (chaine de caractère) que je nomme tampon.
 
 Voici mon code  
 
Code :
 
                          float f1, f2, f3,f4,f5;
                        f1 = strtof (tampon, &pEnd);
                        f2 = strtof (pEnd,   &pEnd);
                        f3 = strtof (pEnd,   &pEnd);
                        f4 = strtof (pEnd,   &pEnd);
                        f5 = strtof (pEnd,   NULL );
 
/* /\*   printf ("%f %f %f", f1 ,f2,f3); *\/ */
 
 
 
                        float tab[n+50][5];
                        tab[i][0] =f1;
                        tab[i][1] =f2;
                        tab[i][2] =f3;
                        tab[i][3] =f4;
                        tab[i][4] =f5;
 
Grace à strtof , je convertit la chaine en float. Je cré ensuite un tableau pour stocker mes floats.
 
 Or lorsque le fichier est très grand, plusieurs milliers de lignes, j'ai le message d'erreur suivant qui apparait :Erreur de segmentation ./$TEST_EXEC.
 
 Merci pour votre aide

Reply

Marsh Posté le 30-05-2013 à 15:02:08   

Reply

Marsh Posté le 30-05-2013 à 15:16:59    

Laisse-moi deviner. Ta variable "n" stocke le nombre de lignes qu'il y a dans ton fichier?
Cette instruction va alloueur la mémoire sur la pile:

Code :
  1. float tab[n+50][5];


 
Si la mémoire est insuffisante = crash. Bref, utilise malloc()

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed