Namespaces
Variants
Actions

std::setfill

From cppreference.com
< cpp‎ | io‎ | manip
 
 
 
Input/output manipulators
Floating-point formatting
Integer formatting
Boolean formatting
Field width and fill control
setfill
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)
 
Defined in header <iomanip>
template<class CharT >
/*unspecified*/ setfill( CharT c );

When used in an expression out << setfill(c) sets the fill character of the stream out to c.

Contents

[edit]Parameters

c - new value for the fill character

[edit]Return value

An object of unspecified type such that

  • if out is an object of type std::basic_ostream<CharT, Traits>, the expression out << setfill(c)
    • has type std::basic_ostream<CharT, Traits>&
    • has value out
    • behaves as if it called f(out, c)

where the function f is defined as:

template<class CharT, class Traits>void f(std::basic_ios<CharT, Traits>& str, CharT c){// set fill character str.fill(c);}

[edit]Notes

The current fill character may be obtained with std::ostream::fill.

[edit]Example

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

Output:

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

[edit]Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 183C++98 setbase could only be used with
streams of type std::ostream
usable with any output
character stream

[edit]See also

manages the fill character
(public member function of std::basic_ios<CharT,Traits>)[edit]
sets the placement of fill characters
(function)[edit]
changes the width of the next input/output field
(function)[edit]
close