$ls ascii-table.c avg.txt case-changer.c env-var-set.c functions_ver1.c mph-to-kph.c output.c ascii-table.md avg-with-garbage.txt env-var.c exist.sh functions_ver2.c mph-to-kph_v2.c $gcc output.c -o output $./output A regular message on stdout Also a regular message on stdout An error message on stderr A regular message, printed to fd 1 An error message, printed to fd 2 $cat output.c #define _POSIX_C_SOURCE 200809L #include <stdio.h> int main(void) { printf("A regular message on stdout\n"); /* Using streams with fprintf() */ fprintf(stdout, "Also a regular message on " "stdout\n"); fprintf(stderr, "An error message on stderr\n"); /* Using file descriptors with dprintf(). * This requires _POSIX_C_SOURCE 200809L * (man 3 dprintf)*/ dprintf(1, "A regular message, printed to " "fd 1\n"); dprintf(2, "An error message, printed to " "fd 2\n"); return 0; } $