Menu

Les fichiers en C

- - Dernière réponse : [Dal]
Messages postés
4820
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
19 décembre 2018
- 6 déc. 2018 à 13:18
Bonjour,

on nous demande d'écrire une fonction dont le prototype est le suivant :
char ** lignes(FILE* fich) 

qui retourne un tableau de chaines de car ou chaque chaine contient une ligne de fichier .
des idées au moins ?!
merci !

Configuration: Windows / Firefox 63.0
Afficher la suite 
A voir également:

Votre réponse

1 réponse

Messages postés
4820
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
19 décembre 2018
0
Merci
Salut joujou98,

Ce prototype
char ** lignes(FILE* fich)
va retourner un tableau de pointeurs sur des pointeurs sur char.

Une stratégie possible est de lire tout le fichier dans un tampon mémoire avec
fread()
, de le parser avec
strtok()
pour délimiter les chaînes et de stocker dans un tableau de pointeurs sur des pointeurs sur char, alloué par la fonction, les adresses de chaque chaîne, ce tableau étant donc retourné par la fonction.

Pour libérer cette mémoire, la fonction appelante devra libérer d'abord le tampon (dont l'adresse sera au premier élément du tableau), puis le tableau de pointeurs sur des pointeurs sur char.

Deux
free()
pourraient ainsi suffire.

Dal
Commenter la réponse de [Dal]