Today I learned that stdout is line buffered when it’s set to terminal and buffered in different cases. So, in normal situation, if I use printf() without the terminating ‘\n’ it will be printed on the screen only when the buffer will be full. How to get a size of this buffer, how big is this?
Share
The actual size is defined by the individual implementation; the standard doesn’t mandate a minimum size (based on what I’ve been able to find, anyway). Don’t have a clue on how you’d determine the size of the buffer.
Edit
Chapter and verse:
Emphasis added.
“Implementation-defined” is not a euphemism for “I don’t know”, it’s simply a statement that the language standard explicitly leaves it up to the implementation to define the behavior.
And having said that, there is a non-programmatic way to find out; consult the documentation for your compiler. “Implementation-defined” also means that the implementation must document the behavior: