It is used to set specific format flags. The format flags of a stream affect the way data is interpreted in certain input functions and how it is written by certain output functions. See ios_base::fmtflags for the possible values of this function's arguments.
DeclarationFollowing is the declaration for ios_base::setf function.
set (1) fmtflags setf (fmtflags fmtfl); mask (2) fmtflags setf (fmtflags fmtfl, fmtflags mask);
The first form (1) sets the stream's format flags whose bits are set in fmtfl, leaving unchanged the rest, as if a call to flags(fmtfl|flags()).
The second form (2) sets the stream's format flags whose bits are set in both fmtfl and mask, and clears the format flags whose bits are set in mask but not in fmtfl, as if a call to flags((fmtfl&mask)|(flags()&~mask)).
Parametersfmtfl − Format flags to be set. If the second syntax is used, only the bits set in both fmtfl and mask are set in the stream's format flags; the flags set in mask but not in fmtfl are cleared.
mask − Mask containing the flags to be modified.
Return ValueThe format flags selected in the stream before the call.
ExceptionsBasic guarantee − if an exception is thrown, the stream is in a valid state.
Data racesModifies the stream object. Concurrent access to the same stream object may cause data races.
ExampleIn below example explains about ios_base::setf function.
#include <iostream> int main () { std::cout.setf ( std::ios::hex, std::ios::basefield ); std::cout.setf ( std::ios::showbase ); std::cout << 100 << '\n'; std::cout.unsetf ( std::ios::showbase ); std::cout << 100 << '\n'; return 0; }
Let us compile and run the above program, this will produce the following result −
0x64 64
ios.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4