Namespaces
Variants

std::system

Desde es.cppreference.net
 
 
Biblioteca de utilidades
Soporte del lenguaje
Soporte de tipos (tipos básicos, RTTI)
Macros de prueba de características de la biblioteca (C++20)
Utilidades de programa
Funciones variádicas
Soporte de corrutinas (C++20)
Soporte de contratos (C++26)
Comparación a tres vías
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilidades generales
Operadores relacionales (obsoleto en C++20)
 
 
Definido en el encabezado <cstdlib>
int system( const char* command );

Invoc al procesador de comandos del entorno anfitrión (p.ej. /bin/sh, cmd.exe) con el parámetro command. Devuelve un valor definido por la implementación (generalmente el valor que devuelve el programa invocado).

Si command es un puntero nulo, comprueba si el entorno anfitrión tiene un procesador de comandos y devuelve un valor distinto de cero si y solo si el procesador de comandos existe.

Parámetros

command - cadena de caracteres que identifica el comando a ejecutar en el procesador de comandos. Si se proporciona un puntero nulo, se verifica la existencia del procesador de comandos

Valor de retorno

Valor definido por la implementación. Si command es un puntero nulo, retorna un valor distinto de cero si y solo si el procesador de comandos existe.

Notas

En sistemas POSIX, el valor de retorno puede descomponerse utilizando WEXITSTATUS y WSTOPSIG .

La función POSIX relacionada popen hace que la salida generada por command esté disponible para el llamador.

Un vaciado explícito de std::cout también es necesario antes de una llamada a std::system , si el proceso generado realiza cualquier operación de E/S de pantalla.

Ejemplo

#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
    std::system("ls -l >test.txt"); // executes the UNIX command "ls -l >test.txt"
    std::cout << std::ifstream("test.txt").rdbuf();
}

Salida posible:

total 16
-rwxr-xr-x 1 2001 2000 8859 Sep 30 20:52 a.out
-rw-rw-rw- 1 2001 2000  161 Sep 30 20:52 main.cpp
-rw-r--r-- 1 2001 2000    0 Sep 30 20:52 test.txt

Véase también