system, _wsystem

Ejecuta un comando.

Importante

Esta API no se puede usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows.

Sintaxis

int system(
   const char *command
);
int _wsystem(
   const wchar_t *command
);

Parámetros

command
Comando que se va a ejecutar.

Valor devuelto

Si command es NULL y se encuentra el intérprete de comandos, devuelve un valor distinto de cero. Si no se encuentra el intérprete de comandos, devuelve 0 y establece en errnoENOENT. Si command no NULLes , system devuelve el valor devuelto por el intérprete de comandos. Devuelve el valor 0 únicamente si el intérprete de comandos devuelve el valor 0. Un valor devuelto de - 1 indica un error y se establece errno en uno de los siguientes valores:

Valor Descripción
E2BIG La lista de argumentos (que depende del sistema) es demasiado grande.
ENOENT No se encuentra el intérprete de comandos.
ENOEXEC No se puede ejecutar el archivo de intérprete de comandos porque el formato no es válido.
ENOMEM No hay suficiente memoria disponible para ejecutar el comando; o la memoria disponible está dañada; o existe un bloque no válido, que indica que el proceso de llamada se ha asignado incorrectamente.

Para obtener más información sobre los códigos de retorno, vea errno, _doserrno, _sys_errlist y _sys_nerr.

Comentarios

La función system pasa command al intérprete de comandos, que ejecuta la cadena como un comando del sistema operativo. system usa las variables de entorno COMSPEC y PATH para buscar el archivo de intérprete de comandos CMD.exe. Si command es NULL, la función comprueba si el intérprete de comandos existe.

Debe vaciar explícitamente (mediante fflush o _flushall) o cerrar todos los flujos antes de llamar a system.

_wsystem es una versión con caracteres anchos de system; el argumento command para _wsystem es una cadena de caracteres anchos. Por lo demás, estas funciones se comportan exactamente igual.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Asignaciones de rutinas de texto genérico

Rutina TCHAR.H _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_tsystem system system _wsystem

Requisitos

Routine Encabezado necesario
system <process.h> o <stdlib.h>
_wsystem <process.h>, <stdlib.h> o <wchar.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

Este ejemplo usa system para escribir un archivo de texto.

// crt_system.c

#include <process.h>

int main( void )
{
   system( "type crt_system.txt" );
}

Entrada: crt_system.txt

Line one.
Line two.

Salida

Line one.
Line two.

Consulte también

Control de procesos y entornos
Funciones _exec, _wexec
exit, _Exit, _exit
_flushall
Funciones _spawn, _wspawn