Namespaces
Variants
Views
Actions

std::basic_ostream::put

From cppreference.com
< cpp‎ | io‎ | basic ostream
Revision as of 22:58, 31 May 2013 by P12bot (Talk | contribs)

basic_ostream& put( char_type ch );

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.

Contents

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';
}

Output:

a
Unformatted output:  fail=0 bad=1
Formatted output:    fail=1 bad=1

See also

inserts character data
(function) [edit]
inserts blocks of characters
(public member function) [edit]