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
| #include<stdio.h>
#include<stdlib.h>
#define POINTS 4096
typedef struct{
char comment[40];
int nbpts;
float time[POINTS];
float value[POINTS];
} trace;
void readTrace(char* fichier,trace* uneTrace);
void printTrace(trace* uneTrace);
void main()
{
trace uneTrace; /*on défini le type trace pour la variable uneTrace*/
int t=0;/*
FILE* pf;
pf=fopen("cell2.txt","r");*/
readTrace("cell2.txt",&uneTrace); /*appel de la fonction en envoyant le fichier txt et l'adresse de la variable*/
printf("Tester la fonction print tape 1\n\t");
scanf("%d",&t);
if (t==1)
printTrace(&uneTrace);
else
printf("\ntu veux rien faire\n");
}
void readTrace(char* fichier,trace* uneTrace)
{
int i=0;
FILE* pf;
pf=fopen(fichier,"r"); /*ouverture du fichier envoyé par la fonction dans le main, ici cell2.tx*/
if(pf!=NULL) /*si le fichier est bien lu on applique la lecture*/
{
fscanf(pf,"%s",uneTrace->comment); /*lecture du titre*/
fscanf(pf,"%d",&(uneTrace->nbpts)); /*nombre d'éléments*/
for(i=0;i<(uneTrace->nbpts);i++)
{
fscanf(pf,"%f",&(uneTrace->time[i])); /*valeure num1 du tableau*/
fscanf(pf,"%f",&(uneTrace->value[i])); /*valeure num2 du tableau*/
}
printf("c ok\n\n");
}
else
printf("c pas ok");
fclose(pf);
}
void printTrace(trace* uneTrace) /*avec cette fonction on va pouvoir afficher les valeures lues*/
{
int i=0;
printf("%s\n",uneTrace->comment);
printf("\t%d\n",uneTrace->nbpts);
for(i=0;i</*(uneTrace->nbpts)*/15;i++) /*on affiche que les premiers éléments pour l'instant*/
{
printf("t=%.1f\t",uneTrace->time[i]);
printf("v=%.3f\n",uneTrace->value[i]);
}
} |
Partager