Go to the first, previous, next, last section, table of contents.


popen

Syntax

#include <stdio.h>

FILE *popen(const char *program, const char *mode);

Description

This function executes the named 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 pclose (see section 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. pclose then removes that file. Similarly, when you open a program for writing, a temp file holds the data and pclose runs the entire program.

The mode is the same as for fopen (see section fopen).

Return Value

An open file which can be used to read the program's output or write to the program's input.

Portability

not ANSI, POSIX

Example

FILE *p = popen("dir", "r");
read_program(p);
pclose(p);


Go to the first, previous, next, last section, table of contents.