Les fichiers en C
joujou98
-
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6122 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
on nous demande d'écrire une fonction dont le prototype est le suivant :
qui retourne un tableau de chaines de car ou chaque chaine contient une ligne de fichier .
des idées au moins ?!
merci !
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
1 réponse
-
Salut joujou98,
Ce prototypechar ** 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 avecfread()
, de le parser avecstrtok()
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.
Deuxfree()
pourraient ainsi suffire.
Dal