bonjour
je voudrais savoir comment utiliser ses fonction malloc et free par exemple dans une fonction de lecture merci d'avantage.
bonjour
je voudrais savoir comment utiliser ses fonction malloc et free par exemple dans une fonction de lecture merci d'avantage.
Ça dépend dans quelles circonstances.
- Si c'est pour lire un fichier, ou des données sur l'entrée, et qu'on précise en premier le nombre de données qu'on va saisir, on peut utiliser malloc() pour allouer un tableau de cette taille et le remplir au fur et à mesure qu'on lit.
- Si c'est pour lire des données sur l'entrée standard sans que leur nombre soit entré en premier, il y a deux solutions: Le tableau agrandit périodiquement avec realloc() ou la liste chaînée (qu'on peut ensuite recopier dans un tableau).
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Réservation de mémoire avant le début de la lecture selon n le nombre d'octets à lire, puis boucle de lecture si la mémoire a bien été réservée, puis libération de la mémoire lorsqu'elle n'est plus utile :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 /* réservation d'une quantité de mémoire suffisante */ char *tampon = malloc(n); /* si la mémoire a bien été réservée alors on lit */ if (tampon != NULL) { /* boucle de lecture */ /* utilisation des données lues et stockées en mémoire */ /* libération de la mémoire */ free(tampon); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager