std::basic_ostream<CharT,Traits>::put (3) - Linux Manuals

std::basic_ostream<CharT,Traits>::put: std::basic_ostream<CharT,Traits>::put

NAME

std::basic_ostream<CharT,Traits>::put - std::basic_ostream<CharT,Traits>::put

Synopsis


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.

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


// Run this code


  #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
operator<<(std::basic_ostream) (function template)
                               inserts blocks of characters
write (public member function)