C ++ ios_base fmtflags
Descripción
Este tipo es usado como su parámetro y / o valor de retorno por los indicadores de funciones miembro, setf y unsetf.
Declaración
A continuación se muestra la declaración de ios_base :: fmtflags.
std::ios_base::fmtflags ff;
Los valores pasados y recuperados por estas funciones pueden ser cualquier combinación válida de las siguientes constantes miembro como se muestra a continuación:
campo | constante miembro | efecto cuando se establece |
---|---|---|
banderas independientes | boolalpha | leer / escribir elementos bool como cadenas alfabéticas ( true y false ). |
showbase | escribir valores integrales precedidos por su correspondiente prefijo de base numérico. | |
showpoint | escribir valores de coma flotante incluyendo siempre la coma decimal. | |
showpos | escriba valores numéricos no negativos precedidos por un signo más (+). | |
skipws | omita los espacios en blanco iniciales en determinadas operaciones de entrada. | |
unitbuf | enjuague la salida después de cada operación de inserción. | |
mayúsculas | escribir letras mayúsculas reemplazando letras minúsculas en determinadas operaciones de inserción. | |
base numérica (campo base) |
dic | leer / escribir valores integrales usando formato de base decimal. |
maleficio | leer / escribir valores integrales usando formato base hexadecimal. | |
oct | leer / escribir valores integrales usando formato base octal. | |
formato flotante (Floatfield) |
fijo | escribir valores de coma flotante en notación de coma fija. |
científico | escribir valores de coma flotante en notación científica. | |
ajustamiento (campo de ajuste) |
interno | la salida se rellena al ancho del campo insertando caracteres de relleno en un punto interno especificado. |
izquierda | la salida se rellena con el ancho del campo añadiendo caracteres de relleno al final. | |
derecho | la salida se completa al ancho del campo insertando caracteres de relleno al principio. |
También se pueden usar tres constantes de máscara de bits adicionales hechas de la combinación de los valores de cada uno de los tres grupos de banderas selectivas, como se muestra a continuación.
valor de la bandera | equivalente a |
---|---|
campo de ajuste | izquierda | derecha | interno |
campo base | dic | oct | maleficio |
Floatfield | científico | fijo |
Los valores de estas constantes se pueden combinar en un solo valor de fmtflags usando el operador OR bit a bit (|).
Ejemplo
En el siguiente ejemplo se muestra para ios_base :: fmtflags.
#include <iostream>
int main () {
std::cout.setf (std::ios_base::hex , std::ios_base::basefield);
std::cout.setf (std::ios_base::showbase);
std::cout << 100 << '\n';
std::cout.setf (std::ios::hex , std::ios::basefield);
std::cout.setf (std::ios::showbase);
std::cout << 100 << '\n';
std::cout.setf (std::cout.hex , std::cout.basefield);
std::cout.setf (std::cout.showbase);
std::cout << 100 << '\n';
std::ios_base::fmtflags ff;
ff = std::cout.flags();
ff &= ~std::cout.basefield;
ff |= std::cout.hex;
ff |= std::cout.showbase;
std::cout.flags(ff);
std::cout << 100 << '\n';
std::cout << std::hex << std::showbase << 100 << '\n';
return 0;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
0x64
0x64
0x64
0x64
0x64