• [^] # Re: fonction Format()

    Posté par . En réponse au message [portage] Librairie CString -> string (STL). Évalué à 2.

    moi j'utiliserai asprintf qui alloue automatiquement l'espace nécessaire ( attention gnu c et *bsd uniquement, ce n'est pas standard !!! )

    puis le mieux c'est de faire une fonction format, qui se charge de renvoyer un string créé à partir de la chaine créé par asprintf ( en pensant à libérer l'espace aloué )

    Une autre solution consisterai à définir un espace suffisament grand et utiliser snprintf.
    dans un cas on a une allocation dynamique ( avec les impacts sur les performances), de l'autre on à une allocation statiquen, plus portable, mais avec un risque de tronquer des chaines.

    les deux solutions sont théoriquement protégées des débordement de buffer ( il me semble )

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent