Namespaces
Variants

std:: setfill

From cppreference.net
< cpp ‎ | io ‎ | manip
Défini dans l'en-tête <iomanip>
template < class CharT >
/*unspecified*/ setfill ( CharT c ) ;

Lorsqu'il est utilisé dans une expression out << setfill ( c ) définit le caractère de remplissage du flux out à c .

Table des matières

Paramètres

c - nouvelle valeur pour le caractère de remplissage

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 << setfill ( c )
    • a pour type std:: basic_ostream < CharT, Traits > &
    • a pour valeur out
    • se comporte comme si elle appelait f ( out, c )

où la fonction f est définie comme :

template<class CharT, class Traits>
void f(std::basic_ios<CharT, Traits>& str, CharT c)
{
    // définir le caractère de remplissage
    str.fill(c);
}

Notes

Le caractère de remplissage actuel peut être obtenu avec std::ostream::fill .

Exemple

#include <iomanip>
#include <iostream>
int main()
{
    std::cout << "default fill: [" << std::setw(10) << 42 << "]\n"
              << "setfill('*'): [" << std::setfill('*')
                                   << std::setw(10) << 42 << "]\n";
}

Sortie :

default fill: [        42]
setfill('*'): [********42]

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 corrigé
LWG 183 C++98 setbase ne pouvait être utilisé qu'avec
les flux de type std::ostream
utilisable avec tout flux
de sortie de caractères

Voir aussi

gère le caractère de remplissage
(fonction membre publique de std::basic_ios<CharT,Traits> )
définit le positionnement des caractères de remplissage
(fonction)
modifie la largeur du prochain champ d'entrée/sortie
(fonction)