FILE * stdout;
Standard output stream
The standard output stream is the default destination of output for applications. In most systems, it is usually directed by default to the text console (generally, on the screen).

stdout can be used as an argument for any function that takes an argument of type FILE* expecting an output stream, like fputs or fprintf.

Although it is commonly assumed that the default destination for stdout is going to be the screen, this may not be the case even in regular console systems, since stdout can generally be redirected on most operating systems at the time of invoking the application. For example, many systems, among them DOS/Windows and most UNIX shells, support the following command syntax:

myapplication > example.txt
to redirect the output of myapplication to the file example.txt instead of the console.

It is also possible to redirect stdout to some other source of data from within a program using the freopen function.

If stdout is known to not refer to an interactive device, the stream is fully buffered. Otherwise, it is library-dependent whether the stream is line buffered or not buffered by default (see setvbuf).

See also