[Dcmlib] sprintf
    Mathieu Malaterre 
    mathieu.malaterre at kitware.com
       
    Fri Oct  8 17:57:18 CEST 2004
    
    
  
Ok deux approches ici. Je suis pas fan non plus des iostream pour 
formater des hex, ex:
sprintf(buffer, "%04x|%04x", group , element);
devient
std::ostringstream buf;
buf << std::right << std::setw(4) << std::setfill('0') << std::hex <<
group  << "|" << std::right << std::setw(4) << std::setfill('0') << 
std::hex << element;
std::string key = buf.str();
... no comment
Ou apres une question dans comp.lang.c++
Les gens utilise des solutions du genre:
#include <stdarg.h>
#include <stdio.h>
std::string format(const char* format, ...)
{
   char buffer[2048];
   va_list args;
   va_start(args, format);
   vsprintf(buffer, format, args);
   return buffer;
}
Donc typiquement un truc dans gdcmUtil.cxx
J'ai fais un grep en fait dans gdcm on a /pour l'instant/ qu'un seul 
sprintf et c'est celui du mail. Donc une solution generique pour un seul 
type de formatage est-ce raisonable ?
Avis/commentaires
Mathieu
Ps: y parait que boost a une bien meilleur approche pour ce genre de 
truc, avec un peu de chance c'est dans la norme c++ et d'ici 10 ans tous 
les compilos supporteront une 'printf like attitude' pour les iostream :P
    
    
More information about the Dcmlib
mailing list