This documentation is archived and is not being maintained.

_execv, _wexecv

Load and execute new child processes.

intptr_t _execv( 
   const char *cmdname,
   const char *const *argv 
intptr_t _wexecv( 
   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.


Function Required header Optional headers Compatibility
_execv <process.h> <errno.h> Win 98, Win Me, Win NT, Win 2000, Win XP
_wexecv <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