std::showbase, std::noshowbase
De cppreference.com
<tbody>
</tbody>
| 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).
Parameters
| 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érico no se agrega cuando se genera el valor cero.
Ejemplo
Ejecuta este código
#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
Véase también
Borra los indicadores ios_base especificados. (función) | |
Establece los indicadores de ios_base especificados. (función) |