std::ios_base::fmtflags
De cppreference.com
typedef /* definido por la implementación */ fmtflags;
|
||
static constexpr fmtflags dec = /* definido por la implementación */
static constexpr fmtflags oct = /* definido por la implementación */
static constexpr fmtflags hex = /* definido por la implementación */
static constexpr fmtflags basefield = dec | oct | hex;
|
||
static constexpr fmtflags left = /* definido por la implementación */
static constexpr fmtflags right = /* definido por la implementación */
static constexpr fmtflags internal = /* definido por la implementación */
static constexpr fmtflags adjustfield = left | right | internal;
|
||
static constexpr fmtflags scientific = /* definido por la implementación */
static constexpr fmtflags fixed = /* definido por la implementación */
static constexpr fmtflags floatfield = scientific | fixed;
|
||
static constexpr fmtflags boolalpha = /* definido por la implementación */
static constexpr fmtflags showbase = /* definido por la implementación */
static constexpr fmtflags showpoint = /* definido por la implementación */
static constexpr fmtflags showpos = /* definido por la implementación */
static constexpr fmtflags skipws = /* definido por la implementación */
static constexpr fmtflags unitbuf = /* definido por la implementación */
static constexpr fmtflags uppercase = /* definido por la implementación */
|
||
Especifica los indicadores de formato disponibles. Es de tipo BitmaskType y se definen las siguientes constantes:
| 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. |
Ejemplo
El siguiente ejemplo muestra varias formas diferentes de imprimir el mismo resultado.
Ejecuta este código
#include <iostream>
int main()
{
int num = 150;
// usa fmtflags como constantes miembro de clase:
std::cout.setf(std::ios_base::hex, std::ios_base::basefield);
std::cout.setf(std::ios_base::showbase);
std::cout << num << '\n';
// usa fmtflags como constantes miembro de clase heredadas:
std::cout.setf (std::ios::hex, std::ios::basefield);
std::cout.setf (std::ios::showbase);
std::cout << num << '\n';
// usa fmtflags como constantes miembro de objeto:
std::cout.setf(std::cout.hex, std::cout.basefield);
std::cout.setf(std::cout.showbase);
std::cout << num << '\n';
// usa fmtflags como un tipo:
std::ios_base::fmtflags ff;
ff = std::cout.flags();
ff &= ~std::cout.basefield; // desactiva los bits basefield
ff |= std::cout.hex; // activa hex
ff |= std::cout.showbase; // activa showbase
std::cout.flags(ff);
std::cout << num << '\n';
// no usa fmtflags, sino que usa manipuladores:
std::cout << std::hex << std::showbase << num << '\n';
}
Salida:
0x96
0x96
0x96
0x96
0x96
Véase también
| Gestiona los indicadores de formato. (función miembro pública) | |
| Establece un indicador de formato específico. (función miembro pública) | |
| Borra el indicador de formato específico. (función miembro pública) | |
| Cambia la base usada para E/S de enteros. (función) | |
| Cambia el carácter de relleno. (plantilla de función) | |
(C++11)(C++11) |
Cambia el formato utilizado para la E/S de punto flotante. (función) |
| Controla si se utiliza prefijo para indicar base numérica. (función) | |
| Cambia entre la representación textual y numérica de los valores booleanos. (función) | |
Controla si se utiliza el signo + con números no negativos. (función) | |
| Controla si el punto decimal siempre se incluye en la representación de números de punto flotante. (función) | |
| Controla si la salida se vacía después de cada operación. (función) | |
| Controla si se omiten los espacios en blanco iniciales en la entrada. (función) | |
| Controla si se utilizan caracteres en mayúsculas con algunos formatos de salida. (función) |