Standard streams

   

The standard streams are a set of input and output channels featured in Unix and Unix-like operating systems. They consist of three channels through which data can be passed to or from a program:

Standard input

Standard input is the input stream into which text or other data can be entered into a program. Certain programs will, by default, use the standard input stream as a data source if not given a file to use as input. The file descriptor for standard input is 0.

Standard output

Standard output is the output stream into which data are written from a program. Data written to standard output are usually written to the screen unless redirected. It is intended to be the used as the default output stream. The file descriptor for standard output is 1.

Standard error

Standard error is the output stream used by programs for outputting error messages or other diagnostics. It is a separate stream from standard output and can be redirected separately from it. The file descriptor for standard error is 2.

Relevance to the C programming language

The C standard library header file <stdio.h> defines three variables of type FILE * which programs can use to access the standard streams. They are named 'stdin', 'stdout' and 'stderr' respectively.

When running programs from a terminal, standard input is taken from the keyboard, while standard output and error will appear on the screen.

Because of the ubiquity of C and especially its use when programming system software for any operating system, these standard streams are present, or simulated, in many operating systems, whether they're Unix-like or not.


Retrieved from "http://www.mywiseowl.com/articles/Standard_streams"

This page has been accessed 396 times. This page was last modified 23:37, 17 Nov 2004. All text is available under the terms of the GNU Free Documentation License (see Copyrights for details).