home *** CD-ROM | disk | FTP | other *** search
- @node popen, unix
- @subheading Syntax
-
- @example
- #include <stdio.h>
-
- FILE *popen(const char *program, const char *mode);
- @end example
-
- @subheading Description
-
- This function executes the named @code{program} and attaches either its
- input stream or its output stream to the returned file. While the file
- is open, the calling program can write to the program (if the program
- was open for writing) or read the program's output (if the program was
- opened for reading). When the program is done, or if you have no more
- input for it, pass the file pointer to @code{pclose} (@pxref{pclose}),
- which terminates the program.
-
- Since MS-DOS does not support multitasking, this function actually runs
- the entire program when the program is opened for reading, and stores
- the output in a temporary file. @code{pclose} then removes that file.
- Similarly, when you open a program for writing, a temp file holds the
- data and @code{pclose} runs the entire program.
-
- The @var{mode} is the same as for @code{fopen} (@pxref{fopen}).
-
- @subheading Return Value
-
- An open file which can be used to read the program's output or write to
- the program's input.
-
- @subheading Example
-
- @example
- FILE *p = popen("dir", "r");
- read_program(p);
- pclose(p);
- @end example
-
- @c ----------------------------------------------------------------------
- @node pclose, unix
- @subheading Syntax
-
- @example
- #include <stdio.h>
-
- int pclose(FILE *pipe);
- @end example
-
- @subheading Description
-
- This function closes a pipe opened with @code{popen} (@pxref{popen}).
- Note that since MS-DOS is not multitasking, this function will actually
- run the program specified in @code{popen} if the pipe was opened for
- writing.
-
- @subheading Return Value
-
- Zero on success, nonzero on failure.
-
- @subheading Example
-
- @example
- FILE *f = popen("sort", "w");
- write_to_pipe(f);
- pclose(f);
- @end example
-
-