std::ios_base:: setf
From cppreference.net
|
fmtflags setf
(
fmtflags flags
)
;
|
(1) | |
|
fmtflags setf
(
fmtflags flags, fmtflags mask
)
;
|
(2) | |
Establece los indicadores de formato a configuraciones específicas.
1)
Establece las banderas de formato identificadas por
flags
. Efectivamente, se realiza la siguiente operación
fl
=
fl
|
flags
donde
fl
define el estado de las banderas de formato internas.
2)
Borra las banderas de formato bajo
mask
, y establece las banderas borradas a las especificadas por
flags
. Efectivamente se realiza la siguiente operación
fl
=
(
fl
&
~mask
)
|
(
flags
&
mask
)
donde
fl
define el estado de las banderas de formato internas.
Contenidos |
Parámetros
| flags, mask | - | nueva configuración de formato. mask define qué flags pueden ser modificadas, flags define qué flags de aquellas que deben ser modificadas deben establecerse (las demás serán limpiadas). Ambos parámetros pueden ser una combinación de las constantes de formatting flags |
Banderas de formato
| Constante | Explicación |
| dec | usar base decimal para E/S de enteros: ver std::dec |
| oct | usar base octal para E/S de enteros: ver std::oct |
| hex | usar base hexadecimal para E/S de enteros: ver std::hex |
| basefield | dec | oct | hex . Útil para operaciones de enmascaramiento |
| left | ajuste a la izquierda (añade caracteres de relleno a la derecha): ver std::left |
| right | ajuste a la derecha (añade caracteres de relleno a la izquierda): ver std::right |
| internal | ajuste interno (añade caracteres de relleno al punto designado interno): ver 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 : ver std::scientific |
| fixed | generar tipos de punto flotante usando notación fija, o notación hexadecimal si se combina con scientific : ver std::fixed |
| floatfield | scientific | fixed . Útil para operaciones de enmascaramiento |
| boolalpha | insertar y extraer el tipo bool en formato alfanumérico: ver std::boolalpha |
| showbase | generar un prefijo que indica la base numérica para salida de enteros, requiere el indicador monetario en E/S monetaria: ver std::showbase |
| showpoint | generar un carácter de punto decimal incondicionalmente para salida de números de punto flotante: ver std::showpoint |
| showpos | generar un carácter + para salida numérica no negativa: ver std::showpos |
| skipws | omitir espacios en blanco iniciales antes de ciertas operaciones de entrada: ver std::skipws |
| unitbuf | vaciar el buffer después de cada operación de salida: ver std::unitbuf |
| uppercase | reemplazar ciertas letras minúsculas con sus equivalentes en mayúsculas en ciertas operaciones de salida: ver std::uppercase |
Valor de retorno
Los indicadores de formato antes de la llamada a la función.
Ejemplo
Ejecutar este código
#include <iomanip> #include <iostream> #include <numbers> int main() { const double PI = std::numbers::pi; const int WIDTH = 15; std::cout.setf(std::ios::right); // equivalente: cout << right; std::cout << std::setw(WIDTH / 2) << "radius" << std::setw(WIDTH) << "circumference" << '\n'; std::cout.setf(std::ios::fixed); // equivalente: cout << fixed; for (double radius = 1; radius <= 6; radius += 0.5) std::cout << std::setprecision(1) << std::setw(WIDTH / 2) << radius << std::setprecision(2) << std::setw(WIDTH) << (2 * PI * radius) << '\n'; }
Salida:
radius circumference
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 indicador de formato específico
(función miembro pública) |