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(){constdouble PI =std::numbers::pi;constint 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) |