| 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& dec(std::ios_base& str); | (1) | |
std::ios_base& hex(std::ios_base& str); | (2) | |
std::ios_base& oct(std::ios_base& str); | (3) | |
Modifies the default numeric base for integer I/O.
basefield of the streamstr todec as if by callingstr.setf(std::ios_base::dec,std::ios_base::basefield).basefield of the streamstr tohex as if by callingstr.setf(std::ios_base::hex,std::ios_base::basefield).basefield of the streamstr tooct as if by callingstr.setf(std::ios_base::oct,std::ios_base::basefield).This is an I/O manipulator. It may be called with an expression such asout<< std::hex for anyout of typestd::basic_ostream or with an expression such asin>> std::hex for anyin of typestd::basic_istream.
Contents |
| str | - | reference to I/O stream |
str (reference to the stream after manipulation).
#include <bitset>#include <iostream>#include <sstream> int main(){std::cout<<"The number 42 in octal: "<< std::oct<<42<<'\n'<<"The number 42 in decimal: "<< std::dec<<42<<'\n'<<"The number 42 in hex: "<< std::hex<<42<<'\n';int n;std::istringstream("2A")>> std::hex>> n;std::cout<< std::dec<<"Parsing\"2A\" as hex gives "<< n<<'\n';// the output base is sticky until changedstd::cout<< std::hex<<"42 as hex gives "<<42<<" and 21 as hex gives "<<21<<'\n'; // Note: there is no I/O manipulator that sets up a stream to print out// numbers in binary format (e.g. bin). If binary output is necessary// the std::bitset trick can be used:std::cout<<"The number 42 in binary: "<<std::bitset<8>{42}<<'\n';}
Output:
The number 42 in octal: 52The number 42 in decimal: 42The number 42 in hex: 2aParsing "2A" as hex gives 4242 as hex gives 2a and 21 as hex gives 15The number 42 in binary: 00101010
| changes the base used for integer I/O (function)[edit] | |
| controls whether prefix is used to indicate numeric base (function)[edit] |