• [^] # Re: base de la programmation

    Posté par . En réponse au message Question pour C gourou !. Évalué à 2.

    En reprenant le code precedant, et en modifiant deux trois petites choses (notamment un typedef en plus car je suis plus a l'aise avec) et des corrections de syntaxe:
    
    #include <stdio.h>
    typedef struct {
     char date[10], time[10];
     int v;
     float a,b,c,d;
    }ENTREE;
    /*on retourne data, donc il faut l'indiquer*/
    ENTREE* ma_fonction(char *ma_variable) {
     ENTREE data[1000] ; # 1000 lignes pour le fichier
     /* Faut les declarer si on veut les utiliser dans le fscanf)*/
     char date[10];
     char time[10]
     int v;
     float a,b,c,d;
     /**********/
     int i=0;
     FILE *fp;
     fp = fopen("ma_variable", "r");
     while(!(feof(fp))) {
     fscanf(fp, "%s %s %d %f %f %f %f", &date, &time, &v, &a, &b, &c, &d);
     strcpy(data[i].date, date);
     strcpy(data[i].time, time);
     data[i].v = v);
     data[i].a = a);
     data[i].b = b);
     i++;
     }
     return data; /*important le ; ^ ^ */
    }
    int main(void) {
     ENTREE* ma_structure=NULL;
     ma_strucutre=ma_fonction("1.csv");
     return EXIT_SUCCES;
    }
    
    Mais a titre personnel, j'utiliserai plutot un tableau dynamique (histoire d'utiliser juste ce qu'il faut en memoire ^^ ). En fait, une question me taraude : es tu familiarisé avec la notion de pointeurs, de pointeurs sur void, de tableau dynamique ? Car sinon, tu va vite etre bloqué sur plein de truc qui sont somme toute pas compliqué a faire lorsqu'on a bien assimilé les pointeurs.