#include "getArray.h" #include "fileGestion.h" //#include long **get(int N, int M) /* Allocate the array */ { /* Check if allocation succeeded. (check for NULL pointer) */ int i; long **array; array = (long **) malloc(N*sizeof(long *)); for(i = 0 ; i < N ; i++) array[i] = (long *) malloc( M*sizeof(long) ); return array; } void fillRawData(long** p, int N, int M) { int i, j; char *buffer; size_t bufsize = 200; buffer = (char *)malloc(bufsize * sizeof(char)); char* token; FILE *f = fopen("rawData.csv","r"); for(i = 0 ; i < N ; i++){ if (!getline(&buffer, &bufsize, f)) break; // condition d'arret de la boucle si fichier fini printf("%s",buffer); j = 0; while((token = strsep(&buffer,",")) != NULL){ // séparation valeur par virgule initiale : csv //printf("%s ," , token); p[i][j] = atoi(token); j++; } /* for(j = 1 ; j < M ; j++){ token = strtok(NULL, ","); // séparation valeur par virgule : csv if(token == NULL) break; // condition d'arrêt de la séparartion p[i][j] = atoi(token); //transtypage char to int //printf(token); } */ } } void printArrayData(long** p, int N, int M) { int i, j; for(i = 0 ; i < N ; i++){ printf("line n°%d : %d , %d , %d , %d , %d , %d , %d , %d \n" ,i,p[i][0],p[i][1],p[i][2],p[i][3],p[i][4],p[i][5],p[i][6],p[i][7]); } } void freeArray(long **p, int N) { int i; for(i = 0 ; i < N ; i++) free(p[i]); free(p); } long **getRawDataArray(int N , int M){ long **p; p = get(N, M); fillRawData(p ,N, M); return p; } void main(int argc , char argv[]){ long **p; p = getRawDataArray(10,9); printArrayData(p,10,9); }