Les fichiers en C
joujou98
-
[Dal] Messages postés 6205 Date d'inscription Statut Contributeur Dernière intervention -
[Dal] Messages postés 6205 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
A voir également:
- Les fichiers en C
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
- Fichiers bin - Guide
1 réponse
Salut joujou98,
Ce prototype
Une stratégie possible est de lire tout le fichier dans un tampon mémoire avec
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
Dal
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