• [^] # Re: base de la programmation

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

    Merci pour tout ces conseils, mais toujours impossible de résoudre le problème...

    La solution proposée par imalip, j'ai essayé aussi, mais sans résultat.
    L'idée était de passer en argument à la fonction qui récupère les données un pointeur sur la structure de sorte que la fonction la remplisse. Etant relativement débutant en C, je me suis cassé la tete (notamment ;-) a essayer de faire en sorte que ça fonctionne ; impossible. Voici le code...

    Si quelqu'un peut me sortir de ce mauvais pas je lui paye une biere !



    #include <stdio.h>


    struct enreg {

    char date[20], heure[20];
    int v;
    float a,b,c,d;
    };


    /*
    * Lit le fichier et enregistre les elements dans une structure data accessible globalement
    *
    */

    void fct(struct enreg *s) {

    char chaine[256], date[20], heure[20];
    int v;
    float a,b,c,d;
    int i=0;

    FILE *fp = fopen("1.txt", "r");

    while(fgets(chaine, sizeof(chaine), fp)) {

    sscanf(chaine, "%s %s %d %f %f", date, heure, &v, &a, &b );
    (s+i)->v = v;
    printf("%d \n", i);
    i++;

    }

    fclose(fp);

    }


    /*
    * Main
    *
    */

    main() {

    struct enreg x[1000000]; // cree la structure x

    // ? ? ? void fct(struct enreg *y);

    fct(&x[1000000]);

    }