std::ios_base::setf
De cppreference.com
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.Contenido |
[editar] 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. |
[editar] 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. |
[editar] Valor de retorno
Los indicadores de formato antes de llamar a la función.
[editar] 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
[editar] 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) |