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
| #include <stdio.h>
struct chainon
{
struct chainon *pSuivant;
int valeur;
};
void InsereDonneesLUneApresLAutreEnTeteDeListe(
struct chainon **ppPremier,
FILE *fichierOuvert
)
{
int valeurLue;
/* Tant que fscanf() réussit */
while(fscanf(fichierOuvert, "%d\n", &valeurLue) == 1)
{
/*Créer un nouvel élément et si la création a réussi,
Insère l'élément en tête de liste.*/
struct chainon *pNouveau;
pNouveau = malloc(sizeof *pNouveau);
if(pNouveau != NULL)
{
pNouveau->valeur = valeurLue;
/* Insere en tête de liste */
pNouveau->pSuivant = (*ppPremier);
*ppPremier = pNouveau;
}
}
}
void OuvreFichierEtInsereDonneesLUneApresLAutreEnTeteDeListe(
struct chainon **ppPremier,
char const * nomdonnees
)
{
FILE *donnees = fopen(nomdonnees,"r");
if(donnees != NULL)
{
InsereDonneesLUneApresLAutreEnTeteDeListe(ppPremier, donnees);
fclose(donnees);
}
} |
Partager