title: Unbuffered output with cout
body: <p>How can you get unbuffered output from cout, so that it instantly writes to the console without the need to flush (similar to cerr)?</p>
  
  <p>I thought it could be done through rdbuf()->pubsetbuf, but this doesn't seem to work.  The following code snippet below is supposed to immediately output to the console, and then wait a few seconds.  But instead, it just waits, and only outputs when the program exits and the buffer is flushed.</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  int main()
  {
          std::cout.rdbuf()-&gt;pubsetbuf(0, 0);
          std::cout &lt;&lt; "A";
          sleep(5);
  }
  </code></pre>