std::basic_ostream<CharT,Traits>::put
Min standard notice:
Behaves as an UnformattedOutputFunction. After constructing and checking the sentry object, writes the character ch to the output stream.
# Declarations
basic_ostream& put( char_type ch );
# Parameters
ch: character to write
# 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';
}