Espacios de nombres
Variantes
Acciones

std::showbase, std::noshowbase

De cppreference.com
< cpp‎ | io‎ | manip
 
 
Biblioteca de E/S
Manipuladores de E/S
E/S estilo C
Búferes
(en desuso en C++98)
Flujos
Abstracciones
E/S de archivos
E/S de cadenas
E/S de arrays
(en desuso en C++98)
(en desuso en C++98)
(en desuso en C++98)
Salida sincronizada
Tipos
Interfaz de categoría de error
(C++11)
 
Manipuladores de E/S
Formateo de punto flotante
Formateo de enteros
showbasenoshowbase
Formateo de booleanos
Control de ancho de campo y relleno
Otro formateo
Procesamiento de espacio en blanco
Vaciado de salida
(C++20)  

Manipulación de indicadores de estado
E/S de tiempo y dinero
(C++11)
(C++11)
(C++11)
(C++11)
Manipulación entre comillas
(C++14)
 
Definido en el archivo de 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) Deshabilita 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, que puede llamarse con una expresión como out << std::showbase para cualquier out del tipo std::basic_ostream o con una expresión como in >> std::showbase para cualquier in del tipo std::basic_istream.

El indicador showbase afecta el comportamiento de la toda la salida (véase std::num_put::put), la entrada monetaria (véase std::money_get::get) y la salida monetaria (véase std::money_put::put).

Contenido

[editar] Parameters

str - Referencia al flujo de E/S.

[editar] Valor de retorno

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

[editar] 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érico no se agrega cuando se genera el valor cero.

[editar] 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, analizando 3.14 como valor monetario da " << val << '\n';
    std::istringstream("3.14") >> std::noshowbase >> std::get_money(val);
    std::cout << "Sin showbase, analizando 3.14 como valor monetario da " << val << '\n';
}

Salida:

showbase: 0x2a
noshowbase: 2a
Con showbase, analizando 3.14 como valor monetario da 0
Sin showbase, analizando 3.14 como valor monetario da 314

[editar] Véase también

Borra los indicadores ios_base especificados.
(función) [editar]
Establece los indicadores de ios_base especificados.
(función) [editar]