#include #include #include #define DELIM ";" /********************************************************************* static char * str_dup (const char * str) { char * dup = NULL; if (str != NULL) { size_t size = strlen (str) + 1; dup = malloc (size); if (dup != NULL) { memcpy (dup, str, size); } } return dup; } typedef struct { char * Time; char * Pt10001; char * Pt10002; char * Temp1; char * Temp2; } temperature_infos; typedef enum { TIME, PT10001, PT10002, TEMP1, TEMP2, NB_TYPE } infos_type; *******************************************************************************/ int main (void) { FILE * fichier ; const char time; const char pt10001; const char pt10002; const char temp1; const char temp2 ; int c ; //char * pointeur = NULL ; //int i ; //char buff[128] ; //char *p = buff ; fichier = fopen ("fichier.csv", "r"); // recuperation du fichier autoclave.csv if (fichier!= NULL){ int i ; //temperature_infos * infos = NULL; for (c = fscanf(fichier, "%s,%s,%s,%s,%s",&time, &pt10001, &pt10002, &temp1, &temp2) ;c!=EOF ; c++) // on lit le fichier tant qu'il ya quelque chose à lire. { // while ((pointeur = strtok (p, DELIM)) != NULL) {/******************************************************* if (i == 0) p = NULL; switch (i) { case TIME: infos->Time = str_dup (pointeur); break; case PT10001: infos->Pt10001 = str_dup (pointeur); break; case PT10002: infos->Pt10002 = str_dup (pointeur); break; case TEMP1: infos->Temp1 = str_dup (pointeur); break; case TEMP2: infos->Temp2= str_dup (pointeur); break; default: break; } i++; }*******************************************/ printf("Les Données sont :\n Time: %s\n Pt10001:%s\n Pt10002:%s\n Temp1: %s\n Temp2: %s\n" ,&time, &pt10001, &pt10002, &temp1, &temp2); } } } else { printf( " Le Fichier est vide ou n'existe pas ") ; } fclose(fichier); }