salut
j'ai un fichier "sortieF.txt" qui contient 35940 lignes et dans chaque ligne 2 chiffre séparé par un virgule je veux faire la différence entre ces 2 chiffres .
j'ai un code son pb qu'il peut lire seulement 6300 lignes.
aidez moi.
voici le 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
#define CMAX 17 //nb colonne
#define LMAX 6300 //nb ligne
#define MAX_CHAR_PER_LINE 1650 //nb caractere par ligne (pas de probleme)
#define SEP "," //separateur entre les chifre
#define FICH "sortieF.txt" //fichier ou se trouve mes donnes
 
 
int main(int argc, char* argv[])
{
     FILE *m_File, *p;
     int i = 0;
     int j;
     float Tab[LMAX][CMAX];
     char szbuff[MAX_CHAR_PER_LINE];
     char* token;
 
     // On initialise le tableau a -1
     for(i=0;i<LMAX;i++)
    {
         for(j=0;j<CMAX;j++)
        {
             Tab[i][j] = -1;
        }
    }
 
    // On réinitialise le compteur de ligne car i;a été incrémenté lors de l'iniatialisation
    i = 0;
 
    // On ouvre le fichier en lecture seule et en mode texte
    m_File = fopen(FICH,"rt");
 
    //un autre fichier pour stoker le resulat
    p=fopen("stockTab.txt","w");
 
    if(!m_File) 
        return 1;
 
    // On lit le fichier ligne a ligne et on stocke les valeurs dans un tableau  d'entier
    while(!feof(m_File) && i < LMAX)
    {
         j = 0;
 
         // On récupere la ligne courante du fichier
         fgets(szbuff,MAX_CHAR_PER_LINE,m_File);
 
         // On decoupe la ligne selon le charactere de séparation SEP (" ")
         // strtok() -> decoupage de chaine de caracteres
        token = strtok(szbuff,SEP);
 
         // On lit les éléments découpés un à un et on les stocke dans le tableau  Tab
         while(token != NULL && j < CMAX)
        {
              // On stocke la valeur lue dans le tableau
             Tab[i][j] = atof(token);
             // On lit l'element suivant retourner par strtok
             token = strtok(NULL,SEP);
             // On incremente le compteur des ordonnées
             j++;
         }
 
       // On incrémente le compteur des abscisses
       i++;
    }
 
     // On stoke le tableau dans un fichier
     float n=0;
     for(int x=0;x<i;x++)
     {
          for(int y=0;y<j;y++)
         {
              n=Tab[x][0]-Tab[x][1];
              fprintf(p,"%0.6f\t",Tab[x][y]);
         }
 
         fprintf(p,"la difference est : %0.6f ",n);
         fprintf(p ,"\n");
     }
 
     fclose(p);
     return 0;
 
}