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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void exo1(void);
int main (void)
{
int choix=0, exit=0;
while((choix==0)&&(exit==0))
{
printf("1. truc test\n");
printf("4. Quitter l'application\n\n");
printf("Saisir votre choix : ");
scanf("%d",&choix);
switch (choix)
{
case 1 : exo1();
break;
case 4 : exit=1;
break;
default : printf("Erreur de saisie\n");
break;
}
choix=0;
}
}
void exo1(void)
{
// Pré-traitement
FILE *file;
char Buffer[200];
char carac;
char litnb[5];
int i,j;
int lu;
int nblignes;
/* - Déclaration pour le tri des informations - */
char *pointeur; //variable dans laquel on stocke l'adresse de la séléction
char *separateur = { ":;" }; // Le séparateur
int nbVar;
char tempo[30];
char var[38][30];
// Traitement
printf("\ndebut\n");
if((file = fopen("donne", "r")) != NULL) //on ouvre le fichier et verifie si on y arrive
{
while (lu != 0)
{
lu=fread(litnb, 4, 1, file); //on range les caractere dans le buffer
litnb[4] = '\0';
i=0;
do
{
lu=fread(&carac, 1, 1, file); //on range les caractere dans le buffer
if(lu != 0)
{
Buffer[i++] = carac;
}
} while ((carac != '\n')&&(lu != 0));
if(lu != 0)
{
Buffer[--i]='\0';
printf("%s\n", Buffer); //on affiche ce que contient le buffer
}
/* - Tri de la ligne lu - */
pointeur = strtok( Buffer, separateur );
strcpy(var[0],pointeur); //copie ce qui est pointé par pointeur dans tempo[0]
nbVar=1;
while( pointeur != NULL )
{
// Cherche les autres separateurs
pointeur = strtok( NULL, separateur );
if ( pointeur != NULL )
{
strcpy(var[nbVar],pointeur); //copie ce qui est pointé par pointeur dans var[nbVar]
nbVar++; //incremente le numéro de nbVar
}
}
}
fclose(file);
}
nblignes = atoi(litnb);
printf("nblignes : %s",litnb);
printf("nblignes : %d",nblignes);
printf("\n");
for(i=0;i<20;i++)
{
printf("var %d : %s\n",i,var[i]);
}
// Post-traitement
printf("\nfin\n");
} |
Partager