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.  The following example would redirect the program’s output to the prn device, usually the printer attached on LPT1: C :> REDIR > PRN Alternatively, you might want to redirect the program’s output to a file, as the following example shows: C :> REDIR > REDIR.OUT In this example, all output that would have normally appeared on-screen will be written to the file REDIR.OUT.  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.  

Showing Answers 1 - 9 of 9 Answers

Lance Norteno

  • Aug 13th, 2007
 

How you redirect your output depends on your operating system.  Basically, when your program finishes your output goes to a sysout queue.  From there it has to be picked up.  I have seen sites where they poll the sysout and send it through Adobe, or through a "pipe" to the printer, or even to hard drive.  There are even ways to log on from your terminal and manually redirect jobs to their destination.  Not knowing what type of configuration you have, it would be hard to be more specific.

  Was this answer useful?  Yes

jintojos

  • Jun 9th, 2008
 

By using the operators "<" and ">" we can redirect the standard input and out streams.

example : d:> jinto.exe > outputredirected

                d:> jinto.exe < inputredirected

  Was this answer useful?  Yes

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.

 

Related Answered Questions

 

Related Open Questions