Salut à tous !

Contexte : Dans le jeu que je code il y a des règles par exemple ## donne $.
Une règle est un tableau de deux dimensions qui contient d'une part les ingrédients et d'autre part le résultat.


Question : J'essaye d'entrée des règles dans un fichier texte par exemple
## $
$$ ~
Et mon but est de lire ce fichier et de renvoyer une tableau de règles.

Voici une fonction qui pourrait vous être utile :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Regle char2Regle(char entree[], char sortie[]){
    Regle regle = {
    {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
    {0,0,0,0,0,0,0,0,0,0,0,0,0,0},
    };
    int i;for(i=0;entree[i]!='\0';i+=1){
        regle.entree[char2Materiau(entree[i])]+=1;
    }
    for(i=0;sortie[i]!='\0';i+=1){
        regle.sortie[char2Materiau(sortie[i])]+=1;
    }
    return regle;
}
Voici la bête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Regle *lit_regles(const char *filename){
    int i,j=0,N = compte_lignes(filename);
    Regle *tampax = calloc(sizeof(Regle),N);
    FILE* fichier = fopen("filename", "r");
    char *entree, *sortie;
    if (!fichier){
            for(i=0;fgetc(fichier)!=EOF;i++){
            entree = calloc(sizeof(char),N);
            sortie = calloc(sizeof(char),N);
            fscanf(fichier,"%s %s", entree, sortie);
            tampax[i] = char2Regle(entree,sortie);
            fseek(fichier,(strlen(entree)+strlen(sortie))+1,SEEK_CUR);
            free(entree);
            free(sortie);
            }
        fclose(fichier);
        return tampax;
        }
    else
    {
            printf("\nImpossible d'ouvrir le fichier test.txt\n");
            return NULL;
    }
}
Mon but est de stocker des règles dans le tableau tampax jusqu'à ce que le curseur soit à la fin du fichier mais je passe à côté. Pouvez vous m'aider s'il vous plait ?