Loads and executes new child processes.
This API cannot be used in applications that execute in the Windows Runtime. For more information, see CRT functions not supported with /ZW.
intptr_t _execlp( const char *cmdname, const char *arg0, ... const char *argn, NULL ); intptr_t _wexeclp( const wchar_t *cmdname, const wchar_t *arg0, ... const wchar_t *argn, NULL );
Path of the file to execute.
arg0, ... argn
List of pointers to parameters.
If successful, these functions do not return to the calling process. A return value of -1 indicates an error, in which case the
errno global variable is set.
||The space required for the arguments and environment settings exceeds 32 KB.|
||The specified file has a locking or sharing violation.|
||Too many files open (the specified file must be opened to determine whether it is executable).|
||The file or path not found.|
||The specified file is not executable or has an invalid executable-file format.|
||Not enough memory is available to execute the new process; the available memory has been corrupted; or an invalid block exists, indicating that the calling process was not allocated properly.|
For more information about these and other return codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.
Each of these functions loads and executes a new process, passing each command-line argument as a separate parameter and using the
PATH environment variable to find the file to execute.
_execlp functions validate their parameters. If
arg0 is a null pointer or empty string, these functions invoke the invalid parameter handler as described in Parameter Validation. If execution is allowed to continue, these functions set
EINVAL and return -1. No new process is launched.
|Function||Required header||Optional header|
||<process.h> or <wchar.h>||<errno.h>|
For more compatibility information, see Compatibility.
See the example in _exec, _wexec Functions.