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)
Défini dans l'en-tête <ios>
std:: ios_base & showbase ( std:: ios_base & str ) ;
(1)
std:: ios_base & noshowbase ( std:: ios_base & str ) ;
(2)
1) Active l'indicateur showbase dans le flux str comme en appelant str. setf ( std:: ios_base :: showbase ) .
2) Désactive le drapeau showbase dans le flux str comme en appelant str. unsetf ( std:: ios_base :: showbase ) .

Ceci est un manipulateur d'E/S, il peut être appelé avec une expression telle que out << std :: showbase pour tout out de type std::basic_ostream ou avec une expression telle que in >> std :: showbase pour tout in de type std::basic_istream .

L'indicateur showbase affecte le comportement de la sortie d'entiers (voir std::num_put::put ), de l'entrée monétaire (voir std::money_get::get ) et de la sortie monétaire (voir std::money_put::put ).

Table des matières

Paramètres

str - référence au flux d'E/S

Valeur de retour

str (référence au flux après manipulation).

Notes

Comme spécifié dans std::num_put::put , le drapeau showbase dans la sortie d'entiers agit comme le spécificateur de format # dans std::printf , ce qui signifie que le préfixe de base numérique n'est pas ajouté lors de l'affichage de la valeur zéro.

Exemple

#include <iomanip>
#include <iostream>
#include <locale>
#include <sstream>
int main()
{
    // showbase affecte la sortie des valeurs octales et hexadécimales
    std::cout << std::hex
              << "showbase: " << std::showbase << 42 << '\n'
              << "noshowbase: " << std::noshowbase << 42 << '\n';
    // et à la fois l'entrée et la sortie des valeurs monétaires
    std::locale::global(std::locale("en_US.UTF8"));
    long double val = 0;
    std::istringstream("3.14") >> std::showbase >> std::get_money(val);
    std::cout << "Avec showbase, l'analyse de 3.14 comme monnaie donne " << val << '\n';
    std::istringstream("3.14") >> std::noshowbase >> std::get_money(val);
    std::cout << "Sans showbase, l'analyse de 3.14 comme monnaie donne " << val << '\n';
}

Sortie :

showbase: 0x2a
noshowbase: 2a
With showbase, parsing 3.14 as money gives 0
Without showbase, parsing 3.14 as money gives 314

Voir aussi

efface les indicateurs spécifiés de ios_base
(fonction)
définit les indicateurs spécifiés de ios_base
(fonction)