| 12
 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
 
 |  
int zone;
  int i,t;
  char ligne[1024];
  int position[16];
  int lgMax[16]={30,6,100,100,40,20,40,40,100,100,100,100,100,10,40,40};
  int pos; 
  char champ[101];
 
 if ((fDest = fopen(nomdest, "w")) == NULL)//Créé le fichier fixe test si erreure
  {
    sprintf(txterr,"impossible d'ouvrir le fichier %s \n",nomdest); 
    Ecriture_err();
    return(-2);
  }
 
  nb_ligne=0;
 
  while(fgets(ligne,sizeof(ligne), fic_header)) //compte nombre de ligne sans le header et ajout des data dans le fichier fixe
  {
    nb_ligne++;
    trimCRLF(ligne);
    //Ecriture
 
    t=strlen(ligne);
    zone=1;
    position[0]=0;
    for(i=0;i<t;i++)//remplace les ; par des \0
    {
      if(ligne[i]==';')
      { 
        ligne[i]=0;       
        position[zone++]=i+1; //donne la position de debut de chaque champs
      }                       
    }
    if (zone>16)// + de 15 champs
    {
      log=1;
      sprintf(txterr,"Attention il existe au moins un champ en trop à la ligne %d \n",nb_ligne+1);
      Ecriture_err();
      continue;
    }
for(i=0;i<zone;i++)
    {
      strcpy(champ,&ligne[position[i]]); 
      lgMax[0]=30; //remet la valeur a 30 sinon bug... je c'est pas pourquoi
      if(strlen(champ)>lgMax[i])
      {
        strcpy(champ," ");
      }
      if(i==2)
        printf("%d ",lgMax[0]);
      while(strlen(champ)<lgMax[i]+1)
        strcat(champ," ");
      if(i==2)
      {
        printf("%d ",lgMax[0]);
        exit(0);
      }
        //lgMax bug après la boucle quand i=2
    } | 
Partager