std::system
Definido en el archivo de encabezado <cstdlib> | ||
int system(constchar* command ); | ||
Llama al procesador de comandos del entorno anfitrión (p. ej., /bin/sh
, cmd.exe
, command.com
) con el parámetro command
. Devuelve un valor definido por la implementación (habitualmente 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 solamente si el procesador de comandos existe.
Contenido |
[editar]Parámetros
command | - | Cadena de caracteres que identifica el comando a ser ejecutado en el procesador de comandos. Si se da un puntero nulo, comprueba la existencia del procesador de comandos. |
[editar]Valor de retorno
Valor definido por la implementación. Si command
es un puntero nulo, devuelve un valor distinto de cero si y solamente si el procesador de comandos existe.
[editar]Notas
En sistemas POSIX, el valor de retorno puede descomponerse utilizando WEXITSTATUS y WSTOPSIG.
La función POSIX relacionada popen hace la salida generada por command
disponible al llamante.
También es necesario vaciar a std::cout antes de una llamada a std::system si el proceso generado realiza cualquier E/S de pantalla.
[editar]Ejemplo
#include <cstdlib>#include <fstream>#include <iostream> int main(){ std::system("ls -l >test.txt");// ejecuta el comando UNIX command "ls -l >test.txt"std::cout<<std::ifstream("test.txt").rdbuf();}
Posible salida:
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
[editar]Véase también
Documentación de C para system |