Espacios de nombres
Variantes
Acciones

std::ios_base::setf

De cppreference.com
< cpp‎ | io‎ | ios base
 
 
 
 
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
ConstanteExplicación
decUsar base decimal para E/S de enteros. Véase std::dec.
octUsar base octal para E/S de enteros. Véase std::oct.
hexUsar base hexadecimal para E/S de enteros. Véase std::hex.
basefielddec|oct|hex. Útil para operaciones de enmascaramiento.
leftAjuste a la izquierda (agrega caracteres de relleno a la derecha). Véase std::left.
rightAjuste a la derecha (agrega caracteres de relleno a la izquierda). Véase std::right.
internalAjuste interno (agrega caracteres de relleno al punto interno designado). Véase std::internal.
adjustfieldleft|right|internal. Útil para operaciones de enmascaramiento.
scientificGenerar tipos de punto flotante usando notación científica, o notación hexadecimal si se combina con fixed. Véase std::scientific.
fixedGenerar tipos de punto flotante usando notación fija o notación hexadecimal si se combina con scientific. Véase std::fixed.
floatfieldscientific|fixed. Útil para operaciones de enmascaramiento.
boolalphaInsertar y extraer el tipo bool en formato alfanumérico. Véase std::boolalpha.
showbaseGenerar un prefijo indicando la base numérica para salida de enteros. Requiere el indicador de moneda en E/S monetaria. Véase std::showbase.
showpointGenerar un carácter de punto decimal incondicionalmente para salida de números de punto flotante. Véase std::showpoint.
showposGenerar un carácter + para salida numérica no negativa. Véase std::showpos.
skipwsOmitir los espacios en blanco iniciales antes de ciertas operaciones de entrada. Véase std::skipws.
unitbufDescargar la salida después de cada operación de salida. Véase std::unitbuf.
uppercaseReemplazar 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

#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) [editar]
Borra el indicador de formato específico.
(función miembro pública) [editar]