bonjour,
Je voulais savoir si asprintf reallocais le chaine passer en paramatre si on lui passe une chaine non vide ou si il la remallocais autre part.
Par exemple:
asprintf(buffer, "un exemple");
asprintf(buffer, "%s autre chose", buffer);.
Cela pourait etre util pour eviter les fuite memoire.
Merci
# libapr
Posté par mathieu mathieu (site web personnel) . Évalué à 1.
excellent tutorial:
http://dev.ariel-networks.com/apr/apr-tutorial/html/apr-tuto(...)
le site officiel:
http://apr.apache.org/
un modeste billet:
http://breizh-biniou.dyndns.org/serendipity/index.php?/archi(...)
[^] # Re: libapr
Posté par kheled . Évalué à 1.
[^] # Re: libapr
Posté par tonio_toon . Évalué à 3.
-> The printf() family of functions produces output according to a format as
described below. The printf() and vprintf() functions write output to
stdout, the standard output stream; fprintf() and vfprintf() write output
to the given output stream; sprintf(), snprintf(), vsprintf(), and
vsnprintf() write to the character string str; and asprintf() and
vasprintf() dynamically allocate a new string with malloc(3)
Il y aura dond réallocation (dynamically allocate a new string with malloc) mais le problème est surtout de savoir si buffer pointera sur le nouvel espace mémoire avant d'avoir traduit le %s ou après ?
En tout cas, il me semble dangereux (dans la mesure où l'on ne connais pas la réponse à la question ci-dessus) d'utiliser le même pointeur pour la chaîne à lire et pour la nouvelle chaîne
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.