This documentation is archived and is not being maintained.

_execvp, _wexecvp

Load and execute new child processes.

intptr_t _execvp( 
   const char *cmdname,
   const char *const *argv 
intptr_t _wexecvp( 
   const wchar_t *cmdname,
   const wchar_t *const *argv 


Path of file to execute.
Array of pointers to parameters.

Return Value

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.

errno value Description
E2BIG The space required for the arguments and environment settings exceeds 32 K.
EACCES The specified file has a locking or sharing violation.
EMFILE Too many files open (the specified file must be opened to determine whether it is executable).
ENOENT File or path not found.
ENOEXEC The specified file is not executable or has an invalid executable-file format.
ENOMEM Not enough memory is available to execute the new process; or the available memory has been corrupted; or an invalid block exists, indicating that the calling process was not allocated properly.

See _doserrno, errno, _sys_errlist, and _sys_nerr for more information on these, and other, return codes.


Each of these functions loads and executes a new process, passing an array of pointers to command-line arguments and using the PATH environment variable to find the file to execute.


Function Required header Optional headers Compatibility
_execvp <process.h> <errno.h> Win 98, Win Me, Win NT, Win 2000, Win XP
_wexecvp <process.h> or <wchar.h> <errno.h> Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.


All versions of the C run-time libraries.


See the example in _exec, _wexec Functions.

See Also

Process and Environment Control Routines | _exec, _wexec_Function Overview | abort | atexit | exit | _onexit | _spawn Function Overview | system | Run-Time Routines and .NET Framework Equivalents