std::ios_base::setf
De cppreference.com
<tbody>
</tbody>
fmtflags setf( fmtflags flags ); |
(1) | |
fmtflags setf( fmtflags flags, fmtflags mask ); |
(2) | |
Establece los indicadores de formato en la configuración especificada.
1) Establece los indicadores de formato identificados por
flags. Efectivamente se realiza la siguiente operación: fl = fl | flags, donde fl define el estado de los indicadores de formato interno.2) Borra los indicadores de formato contenidos en
mask y establece los indicadores borrados en los especificados por flags. Efectivamente se realiza la siguiente operación: fl = (fl & ~mask) | (flags & mask), donde fl define el estado de los indicadores de formato internos.Parámetros
| flags, mask | - | El nuevo valor de formato. mask define cuáles indicadores se pueden alterar, flags define cuáles indicadores de los que se pueden alterar deben establecerse a un valor (los otros se borrarán). Ambos parámetros pueden ser una combinación de las constantes de indicadores de formato.
|
Indicadores de formato
| Constante | Explicación |
| dec | Usar base decimal para E/S de enteros. Véase std::dec. |
| oct | Usar base octal para E/S de enteros. Véase std::oct. |
| hex | Usar base hexadecimal para E/S de enteros. Véase std::hex. |
| basefield | dec|oct|hex. Útil para operaciones de enmascaramiento.
|
| left | Ajuste a la izquierda (agrega caracteres de relleno a la derecha). Véase std::left. |
| right | Ajuste a la derecha (agrega caracteres de relleno a la izquierda). Véase std::right. |
| internal | Ajuste interno (agrega caracteres de relleno al punto interno designado). Véase std::internal. |
| adjustfield | left|right|internal. Útil para operaciones de enmascaramiento.
|
| scientific | Generar tipos de punto flotante usando notación científica, o notación hexadecimal si se combina con fixed. Véase std::scientific.
|
| fixed | Generar tipos de punto flotante usando notación fija o notación hexadecimal si se combina con scientific. Véase std::fixed.
|
| floatfield | scientific|fixed. Útil para operaciones de enmascaramiento.
|
| boolalpha | Insertar y extraer el tipo bool en formato alfanumérico. Véase std::boolalpha.
|
| showbase | Generar un prefijo indicando la base numérica para salida de enteros. Requiere el indicador de moneda en E/S monetaria. Véase std::showbase. |
| showpoint | Generar un carácter de punto decimal incondicionalmente para salida de números de punto flotante. Véase std::showpoint. |
| showpos | Generar un carácter + para salida numérica no negativa. Véase std::showpos.
|
| skipws | Omitir los espacios en blanco iniciales antes de ciertas operaciones de entrada. Véase std::skipws. |
| unitbuf | Descargar la salida después de cada operación de salida. Véase std::unitbuf. |
| uppercase | Reemplazar ciertas letras minúsculas con sus equivalentes en mayúsculas en ciertas operaciones de salida. Véase std::uppercase. |
Valor de retorno
Los indicadores de formato antes de llamar a la función.
Ejemplo
Ejecuta este código
#include <iomanip>
#include <iostream>
#include <numbers>
int main()
{
const double PI = std::numbers::pi;
const int ANCHURA = 15;
std::cout.setf(std::ios::right); // equivalente a: cout << right;
std::cout << std::setw(ANCHURA / 2) << "radio"
<< std::setw(ANCHURA) << "circunferencia" << '\n';
std::cout.setf(std::ios::fixed); // equivalente a: cout << fixed;
for (double radio = 1; radio <= 6; radio += 0.5)
{
std::cout << std::setprecision(1) << std::setw(ANCHURA / 2)
<< radio
<< std::setprecision(2) << std::setw(ANCHURA)
<< (2 * PI * radio) << '\n';
}
}
Salida:
radio circunferencia
1.0 6.28
1.5 9.42
2.0 12.57
2.5 15.71
3.0 18.85
3.5 21.99
4.0 25.13
4.5 28.27
5.0 31.42
5.5 34.56
6.0 37.70
Véase también
| Gestiona los indicadores de formato. (función miembro pública) | |
| Borra el indicador de formato específico. (función miembro pública) |