Do you know that? 20M+ messages are sent through the Elance workroom each year next

How do you redirect a standard stream?

Most operating systems, including DOS, provide a means to redirect program input and output to and from
different devices. This means that rather than your program output (stdout) going to the screen, it can be
redirected to a file or printer port. Similarly, your program's input (stdin) can come from a file rather than
the keyboard. In DOS, this task is accomplished using the redirection characters, < and >. For example, if
you wanted a program named PRINTIT.EXE to receive its input (stdin) from a file named STRINGS.TXT, you would enter the following command at the DOS prompt:

C:>PRINTIT < STRINGS.TXT

Notice that the name of the executable file always comes first. The less-than sign (<) tells DOS to take the
strings contained in STRINGS.TXT and use them as input for the PRINTIT program.

Redirection of standard streams does not always have to occur at the operating system. You can redirect a
standard stream from within your program by using the standard C library function named freopen(). For
example, if you wanted to redirect the  stdout standard stream within your program to a file named
OUTPUT.TXT, you would implement the freopen() function as shown here:

...
freopen("output.txt", "w", stdout);
...

Now, every output statement (printf(), puts(), putch(), and so on) in your program will appear in the file OUTPUT.TXT.