¿Cuál es el trato con setw ()?
ecientemente me mordió el hecho de queios_base::width
y / o elsetw
manipulador tiene que serreset con cada elemento escrito en la transmisión.
Es decir, debes hacer esto:
while(whatever)
{
mystream << std::setw(2) << myval;
}
En vez de esto
mystream.width(2);
while(whatever)
{
mystream << myval;
}
Está bien
¿Pero alguien sabe por qué se tomó esta decisión de diseño? ¿Hay alguna razón que me falta, o es solo un rincón oscuro del estándar?
Otros modificadores de formato de flujo (como se menciona en la pregunta SO vinculada) son 'fijos', mientras quesetw
no es