Al final de ¿Qué es un descriptor de archivos? hago una breve introducción a tres de los descriptores de archivos que más se utilizan a la hora de trabajar con un ordenador. Como usuarios, para poder comunicarnos con nuestro ordenador necesitamos de una serie de herramientas que nos permitan establecer tal comunicación. Además, una vez se ha establecido la comunicación, el usuario tiene que ser capaz de enviar la información al ordenador y tiene que ser capaz de recibir la información que el ordenador le proporciona.
Estas herramientas son comúnmente conocidas como dispositivos de entrada/salida. Así, al dispositivo de entrada se le llama entrada estándar y al dispositivo de salida se le llama salida estándar. En este post nos centraremos en el funcionamiento de la salida estándar.
Cuando un programa termina de ejecutarse, en muchas ocasiones debe mostrar en algún sitio el resultado de dicha ejecución. En la mayoría de las ocasiones este sitio se corresponde con la pantalla del ordenador y es la salida estándar (stdout) la que permite que dicho resultado se muestre por pantalla. Esto es importante ya que para nuestro sistema operativo todo lo relacionado con el ordenador es un fichero. Por tanto, la pantalla va a comunicarse con un fichero que le permita comunicarse con el resto de programas, un fichero representado por STDOUT_FILENO y apuntado por stdout.

No obstante, es importante saber que la pantalla del ordenador no es la salida estándar. Cuando un programa envía el resultado de su ejecución a la salida estándar, la pantalla muestra dicho resultado porque ambas están conectadas. Por defecto, stdout está conectada a la pantalla, pero no significa que sean lo mismo. Fácilmente puede redireccionarse la salida estándar a un archivo y evitar así que el resultado se muestre por pantalla.
Para seguir aprendiendo…
Multimedia.Uoc: Entrada y salida estándar
FPGenred: Entrada, salida y salida de errores estándar
StackOverflow: The difference between stdout and STDOUT_FILENO