1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| DictSyn chargerDictSyn(FILE * ptrFichier, int *err)
{
DictSyn d = initDictSyn();
char ligne[MAX_LIGNE];
char *token;
char *root = (char*) malloc(sizeof(char) * MAX_LIGNE);
int group;
int i;
if (ptrFichier == NULL)
{
*err = FNO;
return d;
}
/* lire la premiËre partie de fichier */
i = 1;
fgets(ligne, MAX_LIGNE, ptrFichier);
while (ligne[0] != '$')
{
/* casser la ligne en mots */
if (ligne != NULL)
{
token = strtok(ligne, " \n");
while (token != NULL)
{
if (i%2 != 0)
{
strcpy(root, token); /* memoriser mot racine */
d = ajoutRacine(d, token, err);
}
else
{
d = ajoutFlexion(d, root, token, err);
}
token = strtok(NULL, " \n");
}
}
i++;
fgets(ligne, MAX_LIGNE, ptrFichier);
}
/* lire deuxième partie du fichier */
while (!feof(ptrFichier))
{
fgets(ligne, MAX_LIGNE, ptrFichier);
token = strtok(ligne, " \n");
group = -1;
if(token != NULL)
{
strcpy(root,token); /* memoriser mot racine */
token = strtok(NULL, " ");
/* creer groupes synonymes */
while (token != NULL)
{
d = ajoutSynonyme(d, root, token, &group, err);
token = strtok(NULL, " \n");
}
}
}
*err = OK;
return d;
} |
Partager