Estoy tratando de usar especificadores de anchura y precisión con boost::format
, así:* Ancho de precisión y especificadores Con impulso :: formato
#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;
}
Pero esto no funcionará porque boost::format
no es compatible con el *
especificador. Boost lanza una excepción al analizar la cadena.
¿Hay alguna forma de lograr el mismo objetivo, preferiblemente utilizando un reemplazo directo?
Esto es lo que fui con, pero estoy tratando de hacer esto de otra manera, también. Ver aquí: http://stackoverflow.com/questions/2981724/boostfunction-boostlambda-again –
Por cierto, gracias por dirigirme a 'agrupación: –
Cuando se aplica a las cadenas,' setprecision' se ignora en 'format', al igual que es durante la E/S corriente ordinaria. –