Voici mon code:
Code :
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
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
#include <stdlib.h>
FILE* fonction1(FILE *fichier_cos,int N, int M);
int fonction2(FILE* fichier ,int N, int M);
int main(int argc, char *argv[])
{
   FILE *fichier_cos,*f,*fichier_f;
   int N=3,M=3;
   fichier_cos=fopen("fichier_cos.txt","r+" );
   fichier_f=fopen("fichier_f.txt","r+" );
   if(fichier_cos != NULL && fichier_f != NULL )
   {
 
            fichier_cos=fonction1(fichier_cos,N, M);
            f=fonction2(fichier_cos,N,M);
            fprintf(fichier_f,"%d |",f);
   }
   else
   {
      printf("Erreur lors de l'ouveture de fichier" );
   }
    return 0;
}
FILE* fonction1(FILE *fichier_cos,int N, int M)
{
   int i,j;
   for(i=0;i<N;i++)
    {
       for(j=0;j<M;j++)
        {
           fprintf(fichier_cos,"%d",i*j);
            fputs("|",fichier_cos);//separation entre les valeurs
         }
   }
   return fichier_cos;
}
int fonction2(FILE* fichier ,int N, int M)
{
   int i,j,nb=0;
   int recup[255][255];
   for(i=0;i<N ;i++)
   {
      for(j=0;j<M ;j++)
      {
            fscanf(fichier, "%d|",&recup[i][j]);
            printf("%d\t",recup[i][j]);// ici il m'affiche 0
      }
   }
   for(i=0;i<N;i++)
      for(j=0;j<M;j++)
         nb=nb+recup[i][j];
   return nb;
}

j'ai deux fichiers, le premier est: fichier_cos.txt qui contient le produit des indices et l'autre fichier_f.txt qui doit normalament m'afficher l'addition des nombres qui ce trouve dans le premiers fichier ( fichier_cos.txt ). le Probléme c'est qu'il m'affiche tjr un 0 et je ne sais pas pourquoi !!!