Namespaces
Variants

std:: showbase, std:: noshowbase

From cppreference.net
< cpp ‎ | io ‎ | manip
Input/output manipulators
Floating-point formatting
Integer formatting
showbase noshowbase
Boolean formatting
Field width and fill control
Other formatting
Whitespace processing
Output flushing
Status flags manipulation
Time and money I/O
(C++11)
(C++11)
(C++11)
(C++11)
Quoted manipulator
(C++14)
Definido en el encabezado <ios>
std:: ios_base & showbase ( std:: ios_base & str ) ;
(1)
std:: ios_base & noshowbase ( std:: ios_base & str ) ;
(2)
1) Habilita el indicador showbase en el flujo str como si se llamara a str. setf ( std:: ios_base :: showbase ) .
2) Desactiva el indicador showbase en el flujo str como si se llamara a str. unsetf ( std:: ios_base :: showbase ) .

Este es un manipulador de E/S, puede ser llamado con una expresión como out << std :: showbase para cualquier out de tipo std::basic_ostream o con una expresión como in >> std :: showbase para cualquier in de tipo std::basic_istream .

La bandera showbase afecta el comportamiento de la salida de enteros (ver std::num_put::put ), la entrada monetaria (ver std::money_get::get ) y la salida monetaria (ver std::money_put::put ).

Contenidos

Parámetros

str - referencia al flujo de E/S

Valor de retorno

str (referencia al flujo después de la manipulación).

Notas

Como se especifica en std::num_put::put , el indicador showbase en la salida de enteros actúa como el especificador de formato # en std::printf , lo que significa que el prefijo de base numérica no se agrega al imprimir el valor cero.

Ejemplo

#include <iomanip>
#include <iostream>
#include <locale>
#include <sstream>
int main()
{
    // showbase afecta la salida de octales y hexadecimales
    std::cout << std::hex
              << "showbase: " << std::showbase << 42 << '\n'
              << "noshowbase: " << std::noshowbase << 42 << '\n';
    // y tanto la entrada como la salida de valores monetarios
    std::locale::global(std::locale("en_US.UTF8"));
    long double val = 0;
    std::istringstream("3.14") >> std::showbase >> std::get_money(val);
    std::cout << "Con showbase, analizar 3.14 como dinero da " << val << '\n';
    std::istringstream("3.14") >> std::noshowbase >> std::get_money(val);
    std::cout << "Sin showbase, analizar 3.14 como dinero da " << val << '\n';
}

Salida:

showbase: 0x2a
noshowbase: 2a
Con showbase, analizar 3.14 como dinero da 0
Sin showbase, analizar 3.14 como dinero da 314

Véase también

borra los indicadores especificados de ios_base
(función)
establece los indicadores especificados de ios_base
(función)