std::basic_ostream<CharT,Traits>::put - cppreference.com
From cppreference.com
|
|
||
Behaves as an UnformattedOutputFunction. After constructing and checking the sentry object, writes the character ch to the output stream.
If the output fails for any reason, sets badbit.
Parameters
Return value
*this
Notes
This function is not overloaded for the types signed char or unsigned char, unlike the formatted operator<<.
Unlike formatted output functions, this function does not set the failbit if the output fails.
Example
#include <fstream> #include <iostream> int main() { std::cout.put('a'); // normal usage std::cout.put('\n'); std::ofstream s("/does/not/exist/"); s.clear(); // pretend the stream is good std::cout << "Unformatted output: "; s.put('c'); // this will set badbit, but not failbit std::cout << " fail=" << bool(s.rdstate() & s.failbit); std::cout << " bad=" << s.bad() << '\n'; s.clear(); std::cout << "Formatted output: "; s << 'c'; // this will set badbit and failbit std::cout << " fail=" << bool(s.rdstate() & s.failbit); std::cout << " bad=" << s.bad() << '\n'; }
Output:
a Unformatted output: fail=0 bad=1 Formatted output: fail=1 bad=1