| I/O manipulators | ||||
| Print functions(C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++20) | ||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
| Synchronized Output | ||||
(C++20) | ||||
| Types | ||||
| Error category interface | ||||
(C++11) | ||||
(C++11) |
| Floating-point formatting | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| Integer formatting | |||||||||||||||||||||||||||||||
| Boolean formatting | |||||||||||||||||||||||||||||||
| Field width and fill control | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| Other formatting | |||||||||||||||||||||||||||||||
| Whitespace processing | |||||||||||||||||||||||||||||||
| Output flushing | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
| Status flags manipulation | |||||||||||||||||||||||||||||||
| Time and money I/O | |||||||||||||||||||||||||||||||
| Quoted manipulator | |||||||||||||||||||||||||||||||
(C++14) | |||||||||||||||||||||||||||||||
Defined in header <ios> | ||
std::ios_base& left(std::ios_base& str); | (1) | |
std::ios_base& right(std::ios_base& str); | (2) | |
std::ios_base& internal(std::ios_base& str); | (3) | |
Modifies the positioning of the fill characters in an output stream.left andright apply to any type being output,internal applies to integer, floating-point, and monetary output. Has no effect on input.
adjustfield of the streamstr toleft as if by callingstr.setf(std::ios_base::left,std::ios_base::adjustfield).adjustfield of the streamstr toright as if by callingstr.setf(std::ios_base::right,std::ios_base::adjustfield).adjustfield of the streamstr tointernal as if by callingstr.setf(std::ios_base::internal,std::ios_base::adjustfield).The initial default for standard streams is equivalent toright.
This is an I/O manipulator. It may be called with an expression such asout<< std::left for anyout of typestd::basic_ostream or with an expression such asin>> std::left for anyin of typestd::basic_istream.
Contents |
| str | - | reference to I/O stream |
str (reference to the stream after manipulation).
#include <iomanip>#include <iostream>#include <locale> int main(){std::cout.imbue(std::locale("en_US.utf8")); std::cout<<"Default positioning:\n"<<std::setfill('*')<<std::setw(12)<<-1.23<<'\n'<<std::setw(12)<<std::hex<<std::showbase<<42<<'\n'<<std::setw(12)<<std::put_money(123,true)<<"\n\n"; std::cout<<"Left positioning:\n"<< std::left<<std::setw(12)<<-1.23<<'\n'<<std::setw(12)<<42<<'\n'<<std::setw(12)<<std::put_money(123,true)<<"\n\n"; std::cout<<"Internal positioning:\n"<< std::internal<<std::setw(12)<<-1.23<<'\n'<<std::setw(12)<<42<<'\n'<<std::setw(12)<<std::put_money(123,true)<<"\n\n"; std::cout<<"Right positioning:\n"<< std::right<<std::setw(12)<<-1.23<<'\n'<<std::setw(12)<<42<<'\n'<<std::setw(12)<<std::put_money(123,true)<<'\n';}
Output:
Default positioning:*******-1.23********0x2a***USD *1.23 Left positioning:-1.23*******0x2a********USD *1.23*** Internal positioning:-*******1.230x********2aUSD ****1.23 Right positioning:*******-1.23********0x2a***USD *1.23
| changes the width of the next input/output field (function)[edit] | |
| changes the fill character (function template)[edit] | |
| controls whether prefix is used to indicate numeric base (function)[edit] |