Bonjour à toutes et à tous,

J'ai fait une recherche avant de poser ma question, mais cela ne m'a pas vraiment éclairé (ici : http://www.developpez.net/forums/d12...was-corrupted/ )

Je crée donc un Topic, en souhaitant l'avoir placé au bon endroit.

Alors voilà, la compilation de mon projet créé sous VisualC++ 2008 se passe sans erreur, c'est quand je le fais tourner que cela "plante".

Voici le message que j'obtiens :
Run-Time Check Failure #2 - Stack around the variable 'R12' was corrupted.

Et voici la fonction où cela foire, sachant que le "débuggeur" a positionné une flèche en face de l'accolade fermante située à l'extrémité.

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
38
39
40
double recup_R12(int annee, int mois)
{
   //fichier associé a R12
 
   FILE* fichier_R12 = NULL;
   int annee_R12[70];
   float R12[70][12];
   int choix_annee;
   int choix_mois;
   int j=0;
   double choix_R12;
 
 //traitement du fichier R12 (annee,mois)
 
     fichier_R12 = fopen("R12.dat", "r");
 
     if (fichier_R12!= NULL)
     {
                 // On lit le fichier tant qu'on ne reçoit pas d'erreur (NULL)
while(fscanf(fichier_R12, "%i %f %f %f %f %f %f %f %f %f %f %f %f \n", &annee_R12[j],&R12[j][0],&R12[j][1],&R12[j][2],&R12[j][3],&R12[j][4],&R12[j][5],&R12[j][6],&R12[j][7],&R12[j][8],&R12[j][9],&R12[j][10],&R12[j][11])==13)     
                   {              
                   j++;              
                    }  
      choix_annee=annee-1931;
      choix_mois=mois-1;
      choix_R12=R12[choix_annee][choix_mois];
 
                  fclose(fichier_R12); 
     }
     else
     {
          //  message d'erreur 
                   printf("Impossible d'ouvrir le fichier R12.dat");
     }
 
if(choix_R12>=150)//le maximum de R12 est fixé à 150 soit une limitation du flux solaire F10.7 à 193 units
choix_R12=150;
 
return choix_R12;
}

J'espère que je n'ai pas omis d'informations importantes.

Je suis assez embêté, pour anecdote ce projet marchait très bien sous Dev-C++. Lorsque je l'ai adapté sous Visual, il m'a tout bonnement détecté de nombreuses erreurs de compilation que j'ai réussi à éradiquer... hélas je bloque ici.

Je vous remercie de m'avoir lu et de vos lumières éventuelles sur l'affaire...