C ++ ios_base fmtflags
Descrição
Este tipo é usado como seu parâmetro e / ou valor de retorno pelos sinalizadores de funções de membro, setf e unsetf.
Declaração
A seguir está a declaração para ios_base :: fmtflags.
std::ios_base::fmtflags ff;
Os valores passados e recuperados por essas funções podem ser qualquer combinação válida das seguintes constantes de membro, conforme mostrado abaixo -
campo | membro constante | efeito quando definido |
---|---|---|
bandeiras independentes | boolalfa | ler / gravar elementos bool como strings alfabéticas ( true e false ). |
showbase | escreva valores integrais precedidos por seu prefixo de base numérica correspondente. | |
showpoint | escrever valores de ponto flutuante incluindo sempre o ponto decimal. | |
showpos | escreva valores numéricos não negativos precedidos por um sinal de mais (+). | |
pular | pule os espaços em branco à esquerda em certas operações de entrada. | |
unitbuf | liberar a saída após cada operação de inserção. | |
maiúsculas | escreva letras maiúsculas substituindo as letras minúsculas em certas operações de inserção. | |
base numérica (campo de base) |
dezembro | ler / gravar valores integrais usando formato de base decimal. |
hex | ler / gravar valores integrais usando formato de base hexadecimal. | |
outubro | ler / gravar valores integrais usando formato de base octal. | |
formato flutuante (Floatfield) |
fixo | escrever valores de ponto flutuante em notação de ponto fixo. |
científico | escrever valores de ponto flutuante em notação científica. | |
ajustamento (ajustar campo) |
interno | a saída é preenchida com a largura do campo inserindo caracteres de preenchimento em um ponto interno especificado. |
esquerda | a saída é preenchida com a largura do campo acrescentando caracteres de preenchimento no final. | |
certo | a saída é preenchida para a largura do campo inserindo caracteres de preenchimento no início. |
Três constantes de bitmask adicionais feitas da combinação dos valores de cada um dos três grupos de sinalizadores seletivos também podem ser usados como mostrado abaixo.
valor da bandeira | equivalente a |
---|---|
ajustar campo | esquerda | certo | interno |
campo de base | dez | outubro | hex |
Floatfield | científico | fixo |
Os valores dessas constantes podem ser combinados em um único valor fmtflags usando o operador bit a bit OR (|).
Exemplo
No exemplo abaixo é mostrado 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;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -
0x64
0x64
0x64
0x64
0x64