Namespaces
Variants

std:: resetiosflags

From cppreference.net
< cpp ‎ | io ‎ | manip
Input/output manipulators
Floating-point formatting
Integer formatting
Boolean formatting
Field width and fill control
Other formatting
Whitespace processing
Output flushing
Status flags manipulation
resetiosflags
Time and money I/O
(C++11)
(C++11)
(C++11)
(C++11)
Quoted manipulator
(C++14)
Défini dans l'en-tête <iomanip>
/*unspecified*/ resetiosflags ( std:: ios_base :: fmtflags mask ) ;

Lorsqu'il est utilisé dans une expression out << resetiosflags ( mask ) ou in >> resetiosflags ( mask ) , efface tous les indicateurs de format du flux out ou in comme spécifié par le mask .

Table des matières

Paramètres

mask - masque de bits des indicateurs à effacer

Valeur de retour

Un objet de type non spécifié tel que

  • Si out est un objet de type std:: basic_ostream < CharT, Traits > , l'expression out << resetiosflags ( mask )
    • a pour type std:: basic_ostream < CharT, Traits > &
    • a pour valeur out
    • se comporte comme si elle appelait f ( out, mask )
  • Si in est un objet de type std:: basic_istream < CharT, Traits > , l'expression in >> resetiosflags ( mask )
    • a pour type std:: basic_istream < CharT, Traits > &
    • a pour valeur in
    • se comporte comme si elle appelait f ( in, mask )

où la fonction f est définie comme :

void f(std::ios_base& str, std::ios_base::fmtflags mask)
{
    // réinitialiser les drapeaux spécifiés
    str.setf(ios_base::fmtflags(0), mask);
}

Exemple

#include <iomanip>
#include <iostream>
#include <sstream>
int main()
{
    std::istringstream in("10 010 10 010 10 010");
    int n1, n2;
    in >> std::oct >> n1 >> n2;
    std::cout << "Parsing \"10 010\" with std::oct gives: " << n1 << ' ' << n2 << '\n';
    in >> std::dec >> n1 >> n2;
    std::cout << "Parsing \"10 010\" with std::dec gives: " << n1 << ' ' << n2 << '\n';
    in >> std::resetiosflags(std::ios_base::basefield) >> n1 >> n2;
    std::cout << "Parsing \"10 010\" with autodetect gives: " << n1 << ' ' << n2 << '\n';
}

Sortie :

Parsing "10 010" with std::oct gives: 8 8
Parsing "10 010" with std::dec gives: 10 10
Parsing "10 010" with autodetect gives: 10 8

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement correct
LWG 183 C++98 resetiosflags ne pouvait être utilisé qu'avec
des flux de type std::ostream ou std::istream
utilisable avec tout
flux de caractères

Voir aussi

définit un indicateur de format spécifique
(fonction membre publique de std::ios_base )
définit les drapeaux spécifiés de ios_base
(fonction)