Je suis en train d'utiliser spécificateurs largeur et de précision avec boost::format
, comme ceci:Utilisation * Largeur et précision Prescripteurs avec boost :: format
#include <boost\format.hpp>
#include <string>
int main()
{
int n = 5;
std::string s = (boost::format("%*.*s") % (n*2) % (n*2) % "Hello").str();
return 0;
}
Mais cela ne fonctionne pas parce que boost::format
ne supporte pas la *
spécificateur. Boost lève une exception lors de l'analyse de la chaîne.
Existe-t-il un moyen d'atteindre le même objectif, de préférence en utilisant un remplacement direct?
C'est ce que je suis allé avec, mais j'essaye de le faire d'une autre manière, aussi. Voir ici: http://stackoverflow.com/questions/2981724/boostfunction-boostlambda-again –
BTW merci de m'avoir indiqué 'group' –
Lorsqu'il est appliqué aux chaînes,' setprecision' est ignoré dans 'format', comme il est pendant les E/S de flux ordinaires. –