std::system
| 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
|
Documentación de C
para
system
|