spawnlp() Execute Program Using Argument List and PATH
#include <process.h>
#include <stdio.h>
int spawnlp(modeflag,pathname,arg0,arg1...,argn,NULL)
int modeflag; Execution mode for parent process
char *pathname; Path name of file to be executed
char *arg0,*arg1,...,*argn; List of pointers to argument
spawnlp() operates identically to spawnl(), with one exception: If
'pathname' is not found as described in spawnl(), then spawnlp() will
use the DOS PATH to continue the search for pathname. With that
single exception, the two functions are identical; see spawnl() for a
complete description.
-------------------------------- Example ---------------------------------
The following statements transfer execution to the child process
"child.exe" and pass it the three arguments "child", "arg1", and
"arg2". "child.exe" will be found in the current directory or any
PATH directory. The exit status of the child is printed upon return.
#include <process.h> /* for 'spawnlp' and 'P_WAIT' */
#include <stdio.h> /* for 'printf' and 'NULL' */
#include <stdlib.h> /* for 'errno' */
#include <errno.h> /* for 'ENOENT' and 'ENOMEM' */
main()
{
int result;
result = spawnlp(P_WAIT,"child.exe","child","arg1","arg2",NULL);
if (result != -1)
printf("exit status of child.exe = %d\n", result);
else {
if (errno == ENOENT) {
printf("child.exe not found in current directory,\n");
printf(" or in any PATH directory.\n");
} else if (errno == ENOMEM)
printf("not enough memory to execute child.exe\n");
else
printf("error #%d trying to spawn child.exe\n", errno);
}
}
Seealso:
This page last updated on Fri Nov 30 10:48:32 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster